"use strict":为多个变量赋值

"use strict": Assign Value to Multiple Variables

"use strict"; javascript中还有其他方法可以将一个值初始化为多个变量吗?因为这样做:

var x = y = 14;

会导致错误:Uncaught ReferenceError: y is not defined

在这里找到我的参考资料:

Set multiple variables to the same value in Javascript

var x = y = 14; 有副作用,这就是为什么它在严格模式下是不允许的。即,y 成为一个全局变量。

当你说

var x = y = 14;

相当于

var x;
y = 14;
x = y;

其中x声明为局部变量,y创建为全局变量。

有关使用 var 声明变量的更多信息,请参阅 this question. Additionally, it may be worth noting that ES6 is introducing the keyword let,它启用块级范围,与 var 存在的函数级范围形成对比。

最后,如果您想为两个变量都赋值,可以执行以下任一操作

var x, y;
x = y = 14;

var x = 14,
    y = x;

var x = 14,
    y = 14;

var x = 14;
var y = 14;

是的 - 不要混用声明和赋值。

var x, y;
x = y = 14;