javascript - 为什么 "var"关键字不能与逗号运算符一起使用?

标签 javascript

以下 spinet 是有效的 JS:

var foo;
if (foo = true, foo) {
}

但这一个不是:

if ((var foo = true), foo) {
}

为什么?

最佳答案

那是因为

foo = true

AssignmentExpression ,这是一个 Expression ,这样你就可以将它包裹在 ParenthesizedExpression 中:

<i>ParenthesizedExpression</i><sub>[Yield]</sub>:
    <b>(</b><i>Expression</i><sub>[In, ?Yield]</sub><b>)</b>

但是

var foo = true

VariableStatement ,这是 Statement ,不是表达式。

关于javascript - 为什么 "var"关键字不能与逗号运算符一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40599744/

相关文章:

javascript - Highchart-treemaps 等于tiles

javascript - jQuery:向下滚动和向上滚动具有幻灯片效果

javascript - 我试图根据使用 html 中的单选按钮所做的选择来显示/隐藏 div

javascript - jQuery val 函数不适用于隐藏字段?

javascript - 清除 Bootstrap 可编辑表单

javascript - AngularJS: "TypeError: undefined is not a function"与 routeProvider

javascript - "Best"在 JavaScript 或服务器端 C 中生成约 500 张小图像的方法

javascript - 如何在循环内完成异步函数后调用函数?

javascript - jasmine-jquery 如何模拟 HTML 固定装置?

javascript - React Native - 复选框无法取消选中 "checked"框