首页 > 解决方案 > 如果我们在 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

谢谢你。

标签: javascriptinitializationsequencevarcomma

解决方案


我在上面错误地删除了我的答案;但是是的,逗号运算符首先计算左边的表达式,然后计算右边的表达式

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


推荐阅读