逗号操作符 对它的每个操作数求值（从左到右），并返回最后一个操作数的值。

## 语法

    expr1, expr2, expr3...

## 参数

`expr1`, `expr2, expr3...`
  任一表达式。

## 描述

当你想要在期望一个表达式的位置包含多个表达式时，可以使用逗号操作符。这个操作符最常用的一种情况是：`for` 循环中提供多个参数。

## 示例

假设 `a` 是一个二维数组，每一维度包含10个元素，则下面的代码使用逗号操作符一次递增/递减两个变量。需要注意的是，`var` 语句中的逗号不是逗号操作符，因为它不是存在于一个表达式中。尽管从实际效果来看，那个逗号同逗号运算符的表现很相似。但确切地说，它是 `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); // the same of return ++x;
    }

## 规范

Specification | Status | Comment
--- | --- | ---
ECMAScript 1st Edition. | Standard | Initial definition.
ECMAScript 5.1 (ECMA-262) Comma operator | Standard |
ECMAScript 2015 (6th Edition, ECMA-262) Comma operator | Standard |

## 浏览器兼容性

Update compatibility data on GitHub

| Desktop | Mobile | Server
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | Safari on iOS | Samsung Internet | Node.js
Comma operator | Chrome Full support Yes | Edge Full support Yes | Firefox Full support 1 | IE Full support 3 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes | nodejs Full support Yes

### Legend

Full support
  Full support

## 参见

- for loop