Tag: {}
a.x = a = { }, 深入理解赋值表达式
nick | js | 2010-10-16
直奔代码:
var a = {x: 1};
a.x = a = { };
alert(a.x); // --> undefined
来自 JE: 写了 10 年 JavaScript 未必全了解的连续赋值运算. clue 的评论已经从 ECMA 规范分析了具体原因,下面尝试更直观的说明此问题。
对于连续赋值语句,我们经常会这样理解:
var a = b = 1;
// 等价:
var a;
a = b = 1;
上面的理解很容易看出 var a = ... [阅读全文]