for(var i = 1 ; i < 10 ; i = i + 1){ if(i % 3 == 0){ i = i * 2; } console.log(i); }
为什么i会等于1,4,5,12?不是乘以2了吗?怎么会有奇数的呢?上面if条件应该是i%2==0的,写错了。...
为什么i会等于1,4,5,12?不是乘以2了吗?怎么会有奇数的呢?
上面if条件应该是i%2==0的,写错了。 展开
上面if条件应该是i%2==0的,写错了。 展开
1个回答
展开全部
肯定会呀
看代码就知道:
for循环,本身有个i=i+1的计算。
当i%2不成立的情况下,会输出i
如果当i成立的情况下,i=i*2,这时,会输出i*2,
然后,在进行i=i+1的操作
所以,当i=2时,满足条件i%2,输出i*2=4,之后再执行i+1,那就是5了,
5不满足条件i%2,所有直接输出了5.
如果要实现这个需求,需要做调整:
for(var i = 1 ; i < 10 ;){
if(i % 3 == 0){
i = i * 2;
}else{
i = i + 1
}
console.log(i);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询