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的,写错了。
展开
 我来答
远望曾经
2016-08-11 · TA获得超过123个赞
知道答主
回答量:69
采纳率:100%
帮助的人:49.5万
展开全部

肯定会呀

看代码就知道:

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);
 }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式