Javascript

时间:2016-02-29 12:55:46

标签: javascript

我在以下代码段中没有提到的内容: a和b现在指向同一个对象。

var foo = {n:1}; /// foo points to an object
var bar = foo;  /// bar point to the same object as foo
foo.x = foo = {n:2};  /// foo is now pointing to a new object

在最后一次分配中,属性x被添加到bar。 为什么? x不应指向n:2?

1 个答案:

答案 0 :(得分:0)

foo.x = foo = {n:2};  /// foo is now pointing to a new object

你可以简化为

foo = {n:2}; // foo point to a NEW object
foo.x = foo;

所以x指向foo。属性链接到自己的对象。