for循环与逗号运算符
最近在复习 JavaScript 的过程中看到了一道有关 for
循环与逗号运算符的题目,感觉挺有意思的。for
循环是最常用的循环结构之一,逗号运算符(,
)则是一个较为特殊但有用的运算符。本文将先整理他们的基本知识点,然后再完成这道题目。
for 循环
1 | for (初始化; 条件; 更新) { |
- 初始化:在循环开始时执行一次,通常用于声明并初始化循环变量。
- 条件:在每次迭代前进行判断,返回
true
继续循环,返回false
终止循环。 - 更新:在每次循环结束后执行,通常用于递增或递减循环变量。
逗号运算符
逗号运算符用于在一个表达式中执行多个操作,但只返回最后一个表达式的值。
示例:
1 | console.log((1,2,3)) // 输出 3 |
题目示例
问题:以下代码的执行结果是?
1 | var i = 0; |
分析:
- 初始化部分:for 循环的初始化没有值,在前面初始化了 i 、 j 均为 0
- 条件部分:运用了逗号表达式,虽然看似有两个条件,但是实际上只会返回
j<5
的值作为结果 - 更新部分:每次循环结束后 i 和 j 均递增
过程:
迭代 | i |
j |
k = i + j |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 2 |
2 | 2 | 2 | 4 |
3 | 3 | 3 | 6 |
4 | 4 | 4 | 8 |
第四次循环结束后,i=j=5,不满足 j<5 的条件,循环结束
此时 k = 8,故最终输出为 8
for循环与逗号运算符