Resum
L'operador coma avalua cadascun dels seus operands (d'esquerra a dreta) i retorna el valor de l´últim operand.
Sintaxi
expr1, expr2, expr3...
Paràmetres
expr1
,expr2, expr3...
- Qualsevol expressions.
Descripció
Es pot fer servir l'operador coma quan es vulgui incloure múltiples expressions en una localització que requereix una sola expressió. L'ús més freqüent que es fa d'aquest operador es per subministrar múltiples paràmetres en una for
loop.
Exemple
Si a
és un array de 2 dimesnions amb 10 elements on a side, el codi següent usa l'operador coma per incrementar dos variables al mateix temps. Vegeu que la coma en la sentència var
no és l'operador coma, ja que no existeix dins d'una expressió. Més aviat, és un caràcter especial en les sentències var
que combina múltiples d'ells en un. Pràcticament, la coma es comporta quasi igual que l'operador coma. El codi imprimeix els valors dels elements de la diagonal de l'array:
for (var i = 0, j = 9; i <= 9; i++, j--) document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);
Processar i després retornar
Un altre exemple sobre l'ús que es pot fer sobre l'operador coma és processar abansd e retornar. Com s'indica, només l'últim element serà retornat, però tots els altres també seràn avaluats. Així doncs, es podria fer:
function myFunc () { var x = 0; return (x += 1, x); // the same of return ++x; }
Especificacions
Especificació | Estat | Comentari |
---|---|---|
ECMAScript 1st Edition. | Estàndard | Definició inicial. |
ECMAScript 5.1 (ECMA-262) The definition of 'Comma operator' in that specification. |
Standard | |
ECMAScript 6 (ECMA-262) The definition of 'Comma operator' in that specification. |
Release Candidate |
Compatibilitat amb navegadors
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suport bàsic | Sí | Sí | 3.0 | Sí | Sí |
Característica | Android | Chrome per Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Suport bàsic | Sí | Sí | Sí | Sí | Sí | Sí |