逗號操做符 對它的每一個操做對象求值(從左至右),而後返回最後一個操做對象的值。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 |