在javascript

时间:2017-03-17 05:40:53

标签: javascript

var a = [],b = [],c = [{}];
b = a;
a = c;
a.push("asd");
console.log("a : " ,a);
console.log("b : " ,b );

在此代码中,为什么b与?

不同

我希望b引用一个。

但是,如果a指的是c,则b不再指的是。

1 个答案:

答案 0 :(得分:0)

b指的是最初分配给a的内容,但由于您在代码中稍后将a分配给c,因此它不是更长的时间是a === b

在这个例子中你的问题可能更清楚:



var a = ['Originally a']
var b = ['Originally b']
var c = ['Originally c', {}]
b = a
a = c
a.push('asd')

console.log('a = ', a)
console.log('b = ', b)
console.log('c = ', c)