1、a 变量存储的是数组的索引地址,目前只有a 自己知道这个地址并访问
2、接下来 a 将这个地址给了 b ,b 也得到了这个地址,并且能够通过地址访问这个数组
3、然后你改变了数组下标 0 的元素值
4、因为 a 和 b 指向的是同一个数组,a 能获取到 b 对数组操作后的内容。
其实说白了,就是两个变量指向了同一个数组索引地址,不管是用 a 操作数组,还是用 b 操作数组,修改的最终结果都是该数组元素值改变。这两个值是耦合关系,就相当于 a 和 b (俩人)共用了一个(冰箱)数组, b 把 [5, 6] 中的 5 变成了 'hello' ,a 看到的最终就是 ['hello', 6] 。
昨天自己也查了资料 你这比喻是真的好~~ 够形象,够具体 理解了~ 谢谢!!!
@奋斗的少年-欧耶: 不客气,我喜欢回答问题,^o^
只要理解a和b指向的内存地址是相同的就行了,说白了b=a以后 a和b就是同一个东西了,只不过这个东西有两个名字
这是值类型和引用类型的问题,去搜索下,有很多优秀的回答。
昨天搜索了一下 这下明白了 谢谢解答~
还是那个建议:成为一个正经程序员的第一步:买本c程序设计.
从c开始学编程.不然就会有这样的问题.
恩恩 好的
<script>
var a=[5,6];
var b=['hello','world'];
b=a;
alert(a[0]);
</script>
现在理解了 谢谢解答~~