这个对吗?b 赋值是否属于已经声明的 b?
var a, b;
//...later
a = 3, b = a * 4;
还是需要这样?
var a, b;
//...later
a = 3;
b = a * 4;
这个对吗?b 赋值是否属于已经声明的 b?
var a, b;
//...later
a = 3, b = a * 4;
还是需要这样?
var a, b;
//...later
a = 3;
b = a * 4;
引用MDN:
逗号运算符评估其每个操作数(从左到右)并返回最后一个操作数的值。
因此,b = a * 4
将在之后进行评估a = 3
,结果为 12。
两个版本之间的区别在于后者包含一个附加语句。如果您在 REPL 中一个接一个地键入这些语句,您将看到该a = 3
语句被评估为 3,这在以前的版本中不会发生。