JavaScript中for循环结合if条件打印奇数异常问题求助
问题排查与修复
问题核心在于**return语句的误用**:当循环执行到i=1时,满足奇数判断条件,此时return console.log('Odd: ', i)会先执行打印操作,随后直接终止整个oddNumbers函数,导致循环提前结束,后续的奇数(3、5、7、9)完全没有机会被处理。
修复方案非常直接,只需移除return关键字,保留console.log即可:
function oddNumbers() { for (let i = 0; i <= 10; i++) { if ((i % 2) !== 0) console.log('Odd: ', i); } } oddNumbers();
运行修改后的代码,控制台会依次输出:
- Odd: 1
- Odd: 3
- Odd: 5
- Odd: 7
- Odd: 9
额外建议:如果后续需要在if条件内添加更多逻辑,建议始终加上大括号{},避免因代码换行产生语法歧义,示例如下:
if ((i % 2) !== 0) { console.log('Odd: ', i); // 可在此添加更多执行逻辑 }
内容的提问来源于stack exchange,提问作者ANDRES DAVID OCAMPO SUAREZ
相关产品推荐
相关产品推荐

