如果我们在 JavaScript 中使用逗号,是否保证哪个变量首先被初始化?
Is it guaranteed which variable will get initialized first if we use comma in JavaScript?
如果在JavaScript中使用逗号,是否保证哪个变量先被初始化?
例如,如果我有以下代码:
var a = function() {return 2;} , b = a();
是否保证a
的初始化先于b
的初始化?
我知道更好的做法是在每次初始化变量时使用 var
关键字。但我仍然对我的问题的答案感兴趣,因为我无法在互联网上找到 JavaScript.
的答案
正如 Trevor Dixon 所指出的,我们可以证明 JavaScript 中的逗号运算符和列表初始化是两个不同的东西。
b = 2, a = 2; console.log(window.a, window.b); //outputs 2 2
var b = 2, a = 2; console.log(window.a, window.b); //outputs undefined undefined
谢谢。
我在上面错误地删除了我的答案;但是,是的,the comma operator first evaluates the left expression and the right one after that
编辑: 似乎使用 ,
声明多个变量与逗号运算符
无关
如果在JavaScript中使用逗号,是否保证哪个变量先被初始化?
例如,如果我有以下代码:
var a = function() {return 2;} , b = a();
是否保证a
的初始化先于b
的初始化?
我知道更好的做法是在每次初始化变量时使用 var
关键字。但我仍然对我的问题的答案感兴趣,因为我无法在互联网上找到 JavaScript.
正如 Trevor Dixon 所指出的,我们可以证明 JavaScript 中的逗号运算符和列表初始化是两个不同的东西。
b = 2, a = 2; console.log(window.a, window.b); //outputs 2 2
var b = 2, a = 2; console.log(window.a, window.b); //outputs undefined undefined
谢谢。
我在上面错误地删除了我的答案;但是,是的,the comma operator first evaluates the left expression and the right one after that
编辑: 似乎使用 ,
声明多个变量与逗号运算符