“use strict”:为多个变量赋值

时间:2015-05-05 03:05:22

标签: javascript variables var

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

var x = y = 14;

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

在这里得到我的参考:

Set multiple variables to the same value in Javascript

2 个答案:

答案 0 :(得分:21)

var x = y = 14;有副作用,这就是严格模式下不允许的原因。即,y成为全局变量。

当你说

var x = y = 14;

相当于

var x;
y = 14;
x = y;

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

有关使用var声明变量的详细信息,请参阅this question。此外,值得注意的是,ES6正在引入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;

答案 1 :(得分:7)

是的 - 不要混合声明和作业。

var x, y;
x = y = 14;