for循环执行多少次?

时间:2017-04-05 23:25:29

标签: javascript

for (var i = 1; i % 2 != 0; i = i+2){
// do something
} 

答案应该是无限的,但是如果循环应该停止直到i%2不等于零,那么它会在第一次迭代时停止(1%2 = 1)?

*对不起,我应该等于一个,但我明白了,谢谢你!

1 个答案:

答案 0 :(得分:0)

不,因为条件表明循环是否执行。如果它停止不是。由于初始值为1且1%2 == 1并且1!= 0为真,因此执行循环。然后,当增量为2时,它将只允许从不具有0的%2的奇数。

这最终证明了这一点:

for (var i = 1; i % 2 != 0; i = i + 2) {
    console.log('--iteraction start--');
    console.log('i => ' + i);
    console.log('i % 2 => ' + (i % 2));
    console.log('i % 2 != 0 => ' + (1 % 2 != 0));
    if (i > 10) break; // this is here so we don't have to wait eternally
    console.log('--iteraction end--');
}     
console.log('and so on...');