javascript - "use strict": Assign Value to Multiple Variables

标签 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

最佳答案

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

当你说

var x = y = 14;

相当于

var x;
y = 14;
x = y;

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

有关使用 var 声明变量的更多信息,请参阅 this question .此外,值得注意的是 ES6 正在引入 the keyword letvar 存在的函数级范围相比,它支持 block 级范围。

最后,如果你想给两个变量都赋值,下面的任何一个都可以

var x, y;
x = y = 14;

var x = 14,
    y = x;

var x = 14,
    y = 14;

var x = 14;
var y = 14;

关于javascript - "use strict": Assign Value to Multiple Variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30043583/

相关文章:

javascript - 递归调用失去范围

javascript - 添加到其 DOM ie8 后,Html 表不会重绘

javascript - jQuery fadeOut 和 fadeIn 背景图像

javascript - 在JS文件中除了数据描述之外还添加标题

java - Lambda 表达式和变量捕获

javascript - 如何将 jQuery AJAX 调用返回的值分配给类变量?

javascript - 如何从变量中获取 JSON 值

Java 11 : Local-Variable Syntax for Lambda Parameters - applications

php - 尝试访问非对象(未分配)的属性时没有错误或警告

javascript - 如果将函数分配给使用 var 声明的变量和 let 有什么区别?