我有问题了解Javascript koans中数组引用的一部分:
it("should know array references", function () {
var array = [ "zero", "one", "two", "three", "four", "five" ];
var assignedArray = array;
assignedArray[5] = "changed in assignedArray";
expect(array[5]).toBe('changed in assignedArray');
在这里,为什么更改assignedArray [5]会影响数组?通过我的理解, assignedArray只引用数组,更改分配的数组不会影响数组本身。
答案 0 :(得分:0)
包含对象的变量的值是对该对象的引用。也就是说,内存中有一个数组,array
和assignedArray
都指向同一个位置。语句assignedArray = array
将array
的值 - 对数组的引用 - 赋给assignedArray
,以便它们都引用相同的内容。