for (var i = 1; i % 2 != 0; i = i+2){
// do something
}
答案应该是无限的,但是如果循环应该停止直到i%2不等于零,那么它会在第一次迭代时停止(1%2 = 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...');