阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS 逗号运算符

      ,

      逗号运算符允许在单个语句中对多个表达式求值,并返回最后一个表达式的结果。

      功能

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

      演示

      var x = 1;
      
      x = (x++, x);
      
      console.log(x);
      // expected output: 2
      
      x = (2, 3);
      
      console.log(x);
      // expected output: 3
      

      语法

      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;
      }
      

      规范

      SpecificationStatusComment
      ECMAScript 1st Edition.StandardInitial definition.
      ECMAScript 5.1 (ECMA-262)
      Comma operator
      Standard
      ECMAScript 2015 (6th Edition, ECMA-262)
      Comma operator
      Standard
      目录
      目录