操作符 | 逗号操作符

逗号操作符常用场景:

场景1:在一条语句中执行多个操作

1
let num1 = 1, num2 = 2, num3 = 3;

场景2: 辅助赋值

在赋值的时候使用逗号操作符分隔值,最终会返回表达式中最后一个值

1
let num = (5,1,4,8,0);   // num的值为0

思考题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
for (let i = 0, j = 0; i < 10, j < 6; i++, j++) {
let k = i + j;
console.log(i, j, k)
};

/*
i j k
0 0 0
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
*/

for (let i = 0, j = 0; i < 6, j < 10; i++, j++) {
let k = i + j;
console.log(i, j, k)
};

/*
i j k
0 0 0
1 1 2
2 2 4
3 3 6
4 4 8
5 5 10
6 6 12
7 7 14
9 9 18
*/

为什么会出现这样的情况?

当有多个条件之间用;隔开时,会返回最右侧的条件

如果需要两个要求同时满足,应该把;改为&&