javascript - 如果我们在 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
谢谢你。
解决方案
我在上面错误地删除了我的答案;但是是的,逗号运算符首先计算左边的表达式,然后计算右边的表达式
编辑:似乎使用,
声明多个变量与逗号运算符无关
推荐阅读
- java - 当我从批处理文件运行 Java 时,我可以挂钩批处理文件以强制退出吗?
- google-chrome - 我们如何使用浏览器的控制台在 ExtJS 中显示视图
- javascript - 验证模式弹出 asp.net 上的记录
- css - 页面上的文本没有大小,只是折叠成自身
- mysql - 在两个表之间连接的插入语句
- php - Laravel Observers 偶尔会在保存操作后无法触发
- javascript - 如何将文本复制到剪贴板
- kdb - 检查多个表中是否存在列
- apache-curator - 当馆长leaderlatch失去连接时发生了什么?
- highcharts - HighCharts 未按预期提供 x 轴值