这可能是一个愚蠢的问题:)
var x = [1, 2, 3];
var y = x; // Value of x is stored in y
y[0] = 5;
alert(x[0]); // returns 5. Why?
x [0]理想情况下应该是1,但为什么它是5?
答案 0 :(得分:1)
x包含数组的第一个元素的地址,x = y将其传递给y。所以y [0]与x [0]相同。这是因为x [0]产生地址为x + 0,y [0]为y + 0。由于y和x相同,因此y [0]和x [0]指向相同的位置。