MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

Оператор Запятая

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Оператор запятая выполняет каждый из его операндов (слева направо) и возвращает значение последнего операнда.

Синтаксис

expr1, expr2, expr3...

Параметры

expr1, expr2, expr3...
Любые выражения.

Описание

Вы можете использовать оператор запятая, когда необходимо включить несколько выражений в место, которое принимает только одно выражение. Наиболее частый пример использования этого оператора - это передача нескольких параметров в цикл for.

Пример

Если a это двумерный массив элементов размерностью 10 х 10, то приведенный ниже код использует оператор запятая для одновременного увеличения двух переменных за раз. Заметте что запятая при объявлении переменных оператором var не оператор запятая, так как в данном случае она находиться не в выражении. Скорее, это спец символ в объявлении переменных комбинирующий их множество в одно выражение. Практически та запятая ведет себя практически также как Практически, эта запятая ведет себя почти так же, как и запятая. Приведенный ниже код выводит значения елементов расположенных по диагонали массива:

for (var i = 0, j = 9; i <= 9; i++, j--)
  document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);

Вычисления и возврат значения

Другой пример использования оператора запятой - вычисления перед возвратом значения. Как было указано ранее, будет возвращен только последний элемент, но все предыдущие также будут вычислены. Таким образом можно сделать:

function myFunc () {
  var x = 0;

  return (x += 1, x); // то же самое, что return ++x;
}

Спецификации

Спецификация Статус Комментарий
ECMAScript 1е издание. Standard Initial definition.
ECMAScript 5.1 (ECMA-262)
Определение 'Comma operator' в этой спецификации.
Стандарт  
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'Comma operator' в этой спецификации.
Стандарт  

Совместимость браузеров

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support Да Да 3.0 Да Да
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Да Да Да Да Да Да

Смотри также

Метки документа и участники

 Внесли вклад в эту страницу: cotolany, br3t, alnimu, Frenk1, fscholz, Ohar, teoli, nurbek.ab
 Обновлялась последний раз: cotolany,