关于js的for循环问题, 结果百思不得其解

for(vari=1;i<10;i++){if(i%2==0){i=i*2;}console.log(i);}按理说,结果应该是481216可是正确答案是14512,为什... for(var i = 1 ; i < 10 ; i++){
if(i % 2 == 0){
i = i * 2;
}
console.log(i);
}
按理说, 结果应该是4 8 12 16
可是正确答案是1 4 5 12 ,为什么?
if(i % 2 == 0),那就是说, 如果不满足条件, 直接跳过, 执行下面的代码, 明白了...
console.log(i);在if循环的外面, 谢谢了
展开
 我来答
jjjjjjjjjjjyyp
2018-06-13 · TA获得超过202个赞
知道答主
回答量:62
采纳率:57%
帮助的人:6.9万
展开全部

i = 1 -> 输出 1

i = 2, i = i * 2 -> 4, 输出4

i变成5, 输出5

i变成6, i = i * 2 -> 12, 输出12. 循环结束

要改成你需要的输出的话

for(var i = 1 ; i < 10 ; i++)
{
    if( i % 2 == 0)
    { 
        console.log(i * 2);
    }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式