小程序
小游戏
企业微信
微信支付
扫描小程序码分享
console.log出来 nowindex = 2 index = 3 但是赋值还是给全部的 nowindex 都赋值
换成下面的写法也不行 要改所有的now_index下的都跟着改了 是不是bug啊 真的很伤脑筋
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
对象复制是传递地址 你可以了解一下 深度克隆就明白了
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
就单说你这段代码
idSelect = 1的时候变量是驼峰命名
其他命名又使用下划线命名了
还有这个名字:
member am choose info
这个名字起的就说是真的很妙了,应该是在工地附近的厕所里学的英语。
可以参考一下这份文档,基本可以解答你的疑惑。
https://www.jianshu.com/p/f4329eb1bace
然后了解一下js堆内存和栈内存区别,灵活使用es6语法的 ‘...’ 这个符号,可以很轻松的进行对象赋值等操作。
你这种对象污染应该就是你使用同一对象赋值进数组的原因。
最小化复现对象污染可以这样:
var a=[1,2];
var b=a;
b[0]=2;
console.log(a); // 打印的结果是[2,2]
修改第二句赋值为:var b = [...a];
那么对b进行修改,a的值就不会变了。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
对象复制是传递地址 你可以了解一下 深度克隆就明白了
就单说你这段代码
idSelect = 1的时候变量是驼峰命名
其他命名又使用下划线命名了
还有这个名字:
member am choose info
这个名字起的就说是真的很妙了,应该是在工地附近的厕所里学的英语。
可以参考一下这份文档,基本可以解答你的疑惑。
https://www.jianshu.com/p/f4329eb1bace
然后了解一下js堆内存和栈内存区别,灵活使用es6语法的 ‘...’ 这个符号,可以很轻松的进行对象赋值等操作。
你这种对象污染应该就是你使用同一对象赋值进数组的原因。
最小化复现对象污染可以这样:
var a=[1,2];
var b=a;
b[0]=2;
console.log(a); // 打印的结果是[2,2]
修改第二句赋值为:var b = [...a];
那么对b进行修改,a的值就不会变了。