JavaScriptexpression式中的逗号是做什么的?

如果我使用:

1.09 * 1; // returns "1.09" 

但是,如果我使用:

 1,09 * 1; // returns "9" 

我知道1,09不是一个数字。

逗号在最后一段代码中做了什么?

更多的例子

 if (0,9) alert("ok"); // alert if (9,0) alert("ok"); // don't alert 

 alert(1); alert(2); alert(3); // 3 alerts alert(1), alert(2), alert(3); // 3 alerts too 

 alert("2", foo = function (param) { alert(param) }, foo('1') ) foo('3'); // alerts 1, 2 and 3 

逗号运算符评估两个操作数(从左到右)并返回第二个操作数的值。

来源: https //developer.mozilla.org/en/JavaScript/Reference/Operators/Special_Operators/Comma_Operator

例如,expression式1,2,3,4,5计算结果为5 。 显然,逗号运算符仅用于有副作用的操作。

一些更多的警报要考虑:

 alert((0, 9)); alert((9, 0)); alert(("foo", "bar")); 

另外,如果你想交互地尝试这个,看看Firebug控制台 。

看看这里 – 逗号代表多个expression式/语句。 例如在你的代码中,你可以使用这样的一行:

 var a=0, b=0, c=0; 

这将声明所有三个variables而不写:

 var a=0; var b=0; var c=0; 

希望有所帮助。

逗号运算符评估两个操作数(从左到右)并返回second操作数的值。

https://stackoverflow.com/a/3561056/5934465

应该是这样的!

逗号运算符评估每个操作数(从左到右)并返回last操作数的值。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator