"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;
在"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;