javascript - 在 Javascript : why does var a, b = 3 返回未定义,而 b = 3 则不返回?

标签 javascript expression var

MDN逗号运算符描述:

The comma operator evaluates each of its operands (from left to right) and returns the value of the last operand.

但是为什么

var a, b = 3

返回未定义,而表达式

b = 3

将返回 3,不是吗?

最佳答案

var a, b = 3;

与以下内容相同:

var a;
var b = 3;

变量声明(var 关键字)不是表达式。变量声明中的逗号更类似于函数参数列表中的逗号。他们不返回任何东西。

确实,逗号运算符返回最后一项,但我不确定它是否有任何实际用例(在 for 循环的初始化之外)。

> 1, 2, 3
< 3

The page you linked to实际上解释得很好。

关于javascript - 在 Javascript : why does var a, b = 3 返回未定义,而 b = 3 则不返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40742914/

相关文章:

Java 模运算符 - 为什么结果出乎意料?

JavaScript var 不被识别为数字

javascript - 获取包含换行符的文本区域的字符数

r - 在 ggplot 中动态定位在多行上的表达式

javascript - 传单控制地理编码器 - 异常 : "Nominatim is not a constructor"

JavaScript语言解析: Distinguish function expressions and declarations

r - 关于R中保存以var的对象命名的数据

javascript - 悬停更改文本,然后替换为原始文本

javascript - 动画脚本在 Chrome 以外的浏览器中不起作用

javascript - Html2canvas for each div export to pdf separately