Javascript逗号运算符

时间:2009-02-02 03:52:04

标签: javascript comma-operator

当使用逗号组合赋值(可能不应该做的事情)时,javascript如何确定分配了哪个值?考虑这两个片段:

function nl(x) { document.write(x + "<br>"); }
var i = 0;
nl(i+=1, i+=1, i+=1, i+=1);
nl(i);

function nl(x) { document.write(x + "<br>"); }
var i = 0;
nl((i+=1, i+=1, i+=1, i+=1));
nl(i);

第一个输出

1
4

而第二个输出

4
4

括号在这里做什么?

1 个答案:

答案 0 :(得分:3)

我在这里混淆了两件事。第一次调用'nl'是一个带有四个参数的函数调用。第二个是将逗号评估为一个参数。

所以,答案是:用','分隔的表达式列表的值是value of the last expression