"use strict";
javascript中有没有其他方法可以将值初始化为多个变量?因为这样做:
var x = y = 14;
会导致错误:Uncaught ReferenceError: y is not defined
在这里得到我的参考:
答案 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;