一个很容易被忽视的知识点。MDN中的定义是:
逗号操作符 对它的每个操作数求值(从左到右),并返回最后一个操作数的值。
我们先来看两个例子:
vari=0,j=0;
for(;i<10,j<6;i++,j++){
k=i+j;
};
console.log(k);
打印结果为:10
vari=0,j=0;
for(;j<6,i<10;i++,j++){
k=i+j;
};
console.log(k);
打印结果为:18
其他地方没有变化,只是把循环条件中的i
和j
交换了位置。因为他们之间使用的是逗号,所以根据逗号操作符的规则,返回的是最后一个操作符的值。
所以第一次循环是根据j<6
来判断,循环了5
次,最后结果是10
第二次循环是根据i<10
来判断,循环了9
次,最后结果是18