逗号操做符 对它的每一个操做对象求值(从左至右),而后返回最后一个操做对象的值。html
expr1, expr2, expr3...
expr1
,
expr2, expr3...
当你想要在指望一个表达式的位置包含多个表达式时,能够使用逗号操做符。这个操做符最经常使用的一种状况是:for
循环中提供多个参数。es6
假设 a
是一个二维数组,每一维度包含10个元素,则下面的代码使用逗号操做符一次递增/递减两个变量。须要注意的是,var
语句中的逗号不是逗号操做符,由于它不是存在于一个表达式中。尽管从实际效果来看,那个逗号同逗号运算符的表现很类似。但确切地说,它是 var
语句中的一个特殊符号,用于把多个变量声明结合成一个。下面的代码打印一个二维数组中斜线方向的元素:数组
1 for (var i = 0, j = 9; i <= 9; i++, j--) 2 document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);
另外一个使用逗号操做符的例子是在返回值前处理一些操做。如同下面的代码,只有最后一个表达式被返回,其余的都只是被求值。浏览器
1 function myFunc () { 2 var x = 0; 3 4 return (x += 1, x); // the same of return ++x; (说不定哪天会碰到这种使用情景呢。。。) 5 }
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition. | Standard | Initial definition. |
ECMAScript 5.1 (ECMA-262) Comma operator |
Standard | |
ECMAScript 6 (ECMA-262) Comma operator |
Release Candidate |