循环问题do-while原理

var i = 0 ;
do {
i+=2;
} while(i<10);

这个结果是10,这个10指的是什么?循环次数还是i的值?
请帮忙解释下do-while的原理,求出的结果是值还是循环次数?搞不懂。

var i = 0 ;
do {
i++;
} while(i<10);

这个结果是9,按说应该是循环次数啊,求助

阅读 3k
1 个回答

do{}while()是先执行 do 里的代码再判断条件.

var i = 0 ;
do {
i+=2; (+=是一个简写,等于 i=i+2;)i=8时 ,i=i+2;i=10
} while(i<10); i<10? false 所以不再执行 do 里的循环.
上面这个你应该懂吧.


图片描述
我觉得你好奇的是这个9,其实 i 是等于10的
图片描述
i++是一个后置递增,他在包含他的语句执行完后,才开始执行.

function ii(){
    var i=0;
    return i++;
}
 var k=ii(); 

//你觉得 k 等于多少? k 等于 0.
你看到的9其实只是 do{}while() 的一个返回值,原理和上面一样.
命令行执行时,每条语句都有返回值,你是不是经常看到返回 undefined?
现在你应该明白了吧?
记得采纳加点赞哦,另外我得文章有讲到操作符相关的,可以看一看.谢谢!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏