use*_*041 1 javascript assignment-operator
任何人都可以告诉输出如何变成undefined?
var foo = {n: 2};
foo.x = foo = {n: 2};
console.log(foo.x); // undefined
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)foo.x = foo = {n:2};
该foo.x指财产x,以refered由对象foo.但是,foo = {n:2}指定一个全新的对象foo.x确实已分配给一个对象,但该对象立即被另一个对象替换.具有该x属性的对象不再被任何引用.
您可以将该行读作
foo.x = (foo = {n:2});
Run Code Online (Sandbox Code Playgroud)
var foo = {n:2};
Run Code Online (Sandbox Code Playgroud)
foo.x = foo = {n:2};
Run Code Online (Sandbox Code Playgroud)
console.log(foo.x);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |