逗号运算符的妙用

简介: 逗号运算符的妙用

前言


逗号在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;


相关文章
|
8月前
面试题 08.14:布尔运算
面试题 08.14:布尔运算
58 0
|
Java
1.5 流程控制语句
1.5 流程控制语句
61 0
|
1月前
|
C语言
【C语言】逗号运算符详解 - 《不起眼的 “逗号”》
逗号运算符(`,`)是C语言中的一个二元运算符,它会对两个操作数进行求值,并返回最后一个操作数的值。其主要作用是将多个表达式组合成一个复合表达式。
67 7
|
3月前
|
算法 程序员
流程控制语句
流程控制语句
60 4
|
7月前
|
算法 C语言
【C语言】:巧用移位操作符,位操作符解决问题
【C语言】:巧用移位操作符,位操作符解决问题
43 0
|
8月前
|
存储 算法 Java
Java数组与for语句
Java数组与for语句
34 0
|
8月前
|
C语言
C语言程序设计——逗号表达式
C语言程序设计——逗号表达式
|
8月前
|
存储 C语言
C语言程序设计——赋值表达式
C语言程序设计——赋值表达式
|
8月前
|
存储 安全 程序员
C语言程序设计——强制类型转换运算符
C语言程序设计——强制类型转换运算符
|
8月前
编译原理-----逆波兰表示法,四元式,三元式,间接三元式
编译原理-----逆波兰表示法,四元式,三元式,间接三元式
315 0