逗号运算符的妙用

简介: 逗号运算符的妙用

前言


逗号在JavaScript中有很大的用处,一方面它是基本的分隔符,例如,在函数中传递多个参数时,使用逗号分隔;另已方面它可以作为一个运算符,从左到右依次执行。例如下面的表达式语句:


x = 8 * 2, x * 4
复制代码


这是一个使用了逗号运算符的语句,首先执行左边的部分,x = 8 * 2,即x = 16,然后执行右边的语句,x * 4 = 16 * 4 = 64,并将其返回。


几个逗号运算符的使用场景:


1. 在for循环中批量执行表达式


如果一个for循环中有多个变量需要执行表达式,可以通过逗号运算符一次性执行。


for (var i = 0; j = 10; i < 10, j < 20; i++,j++) {
    console.log(i, j);
}
复制代码


一般在for循环的末尾,只允许执行单个表达式,在这里我们使用逗号运算符将i++和j++视为同一表达式,因此可以一次执行。


2. 用于交换变量,无须额外变量


通常我们需要交换两个变量的方法是,借助一个临时变量实现,或者使用解构赋值来实现:


var a = 'a';
var b = 'b';
var c;
// 借助临时变量
c = a;
a = b;
b = c;
// 解构赋值
[a, b] = [b, a]
复制代码


现在我们又多了第三种方法,那就是使用逗号运算符:


var a = 'a';
var b = 'b';
// 方案1
a = [b, b = a][0];
// 方案2
a = [b][b = a, 0];
复制代码


3. 用于简化代码


对于特定的函数,我们可以使用逗号运算符进行简写。


if(x) {
    foo();
    return bar();
} else {
    return 1;
}
// 使用逗号运算符简写后
x ? (foo(), bar()) : 1;


相关文章
|
存储 Unix 编译器
初始C语言(6)——详细讲解表达式求值以及其易错点
初始C语言(6)——详细讲解表达式求值以及其易错点
188 0
|
1天前
|
C语言
【C语言】逗号运算符详解 - 《不起眼的 “逗号”》
逗号运算符(`,`)是C语言中的一个二元运算符,它会对两个操作数进行求值,并返回最后一个操作数的值。其主要作用是将多个表达式组合成一个复合表达式。
21 7
|
7月前
|
Java
探索Java世界的奇妙工具——运算符与表达式运算符
探索Java世界的奇妙工具——运算符与表达式运算符
33 0
|
6月前
|
编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
50 3
|
6月前
|
存储 编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
42 1
|
6月前
|
算法 C语言
【C语言】:巧用移位操作符,位操作符解决问题
【C语言】:巧用移位操作符,位操作符解决问题
38 0
|
编译器 C语言
易错的运算符
易错的运算符
|
编译器 C语言
操作符的属性,C语言中运算符的优先性和结合性,常见的问题表达式
操作符的属性,C语言中运算符的优先性和结合性,常见的问题表达式
|
C语言
C语言编程语法—三目运算符和逗号表达式的使用
三目运算符,又称条件运算符,它是唯一有3个操作数的运算符,有时又称为三元运算符。三目运算符的结合性是右结合的;逗号表达式,是c语言中的逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。
548 0