Javascript变量赋值|

时间:2016-05-18 17:56:15

标签: javascript variable-assignment

这可能是一个愚蠢的问题:)

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?

1 个答案:

答案 0 :(得分:1)

x包含数组的第一个元素的地址,x = y将其传递给y。所以y [0]与x [0]相同。这是因为x [0]产生地址为x + 0,y [0]为y + 0。由于y和x相同,因此y [0]和x [0]指向相同的位置。