如果我们在 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

编辑: 似乎使用 , 声明多个变量与逗号运算符

无关