逗号运算符的妙用

简介: 逗号运算符的妙用

前言


逗号在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月前
|
Java
探索Java世界的奇妙工具——运算符与表达式运算符
探索Java世界的奇妙工具——运算符与表达式运算符
35 0
|
8月前
leetcode代码记录(逆波兰表达式求值
leetcode代码记录(逆波兰表达式求值
46 0
|
8月前
|
算法 搜索推荐 程序员
第四十三练 表达式求值
第四十三练 表达式求值
51 1
|
8月前
|
存储 编译器
有趣的移位操作符和位操作符(由浅入深轻松搞定!)
有趣的移位操作符和位操作符(由浅入深轻松搞定!)
|
编译器 C语言
易错的运算符
易错的运算符
|
8月前
|
存储 算法 vr&ar
☆打卡算法☆LeetCode 150. 逆波兰表达式求值 算法解析
☆打卡算法☆LeetCode 150. 逆波兰表达式求值 算法解析
|
算法
%和/的妙用
这个题一定要认真写,如果第一遍读不懂可以多读几遍,或者第二天再读 因为这个题的方法特别好
92 0
|
Java Scala 开发者
运算符优先级|学习笔记
快速学习运算符优先级。
135 0
运算符优先级|学习笔记
|
C++ 索引
C | 函数指针数组妙用
铁汁们都知道,指针对C/C++来说就是灵魂,而同类型指针又能封装到数组中。本文就来讲讲函数指针数组的应用场景
237 0
C | 函数指针数组妙用
|
存储 编译器 C语言
搞懂C/C++ 运算符优先级
搞懂C/C++ 运算符优先级
426 0