javascript对象引用分配导致未定义

javascript对象引用分配导致未定义,javascript,Javascript,我在理解JS中的参考任务时遇到问题 var foo={n:1}; var-bar=foo; bar.n=3; console.log(foo.n); 控制台日志(bar.n); foo.x=foo={n:2}; console.log(foo.n); console.log(foo.x); 控制台日志(foo.x.n)您的单线作业如下 foo.x=foo={n:2} 导致foo获得了对{n:2}的引用,并使用x属性擦除了以前的定义,因此当您尝试打印console.log(foo.x)时它打印未

我在理解JS中的参考任务时遇到问题

var foo={n:1};
var-bar=foo;
bar.n=3;
console.log(foo.n);
控制台日志(bar.n);
foo.x=foo={n:2};
console.log(foo.n);
console.log(foo.x);

控制台日志(foo.x.n)您的单线作业如下

foo.x=foo={n:2}


导致foo获得了对
{n:2}
的引用,并使用
x
属性擦除了以前的定义,因此当您尝试打印
console.log(foo.x)时
它打印
未定义的

告诉我们您的想法
foo.x=foo={n:2}
的作用以及您为什么要这样写。这只会将该对象同时分配给foo.x和foo。因此“=”操作符是右侧的。所以第一个foo={n:2}被执行,所以foo.n属性变成了2?然后应该为foo.x分配(foo={n:2})表达式的结果,我认为这将是foo的Javascript对象引用?可能与and@adiga重复是的,重复很多。:-)