其实,
var var1 = 1, var2 = 1, var3 = 1;
是 不是 等同于:
var var1 = var2 = var3 = 1;
区别在于范围:
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
示例等效于:
var var1 = (window.var2 = (window.var3 = 1));