var var1 = 1, var2 = 1, var3 = 1;
这等效于:
var var1 = var2 = var3 = 1;
我相当确定这是定义变量的顺序:var3,var2,var1,这等效于此:
var var3 = 1, var2 = var3, var1 = var2;
有什么方法可以用JavaScript确认吗?可能使用一些分析器?
其实,
是 不是 等同于:
区别在于范围:
function good() { var var1 = 1, var2 = 1, var3 = 1; } function bad() { var var1 = var2 = var3 = 1; } good(); console.log(window.var2); // undefined bad(); console.log(window.var2); // 1. Aggh!
实际上,这表明分配是正确的关联。该bad示例等效于:
bad
var var1 = (window.var2 = (window.var3 = 1));