开发笔记📐 发现👽 人物👮 趣闻💦
Javascript在for循环中提供多个参数 - 逗号操作符

Javascript在for循环中提供多个参数 - 逗号操作符
2018-06-11 20:04:04   点击:

老九编程语言学的比较杂,从BASIC时代再到学生时代的PASCAL,到如今各种语言,很多细节储备都不够扎实。接触javascript很久才知道逗号操作符还有这样的用法,不知道有没有人跟我一样。还是分享出来。

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

语法 

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  

 

浏览器兼容性

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

前端 操作符 逗号 js

上一篇:转载:BFC神奇背后的原理 BFC是什么意思
下一篇:Nginx重定向HttpRewrite模块 用正则表达式改变URI