当前位置:  开发笔记 > 编程语言 > 正文

循环完成运行后,在循环外返回意外值

如何解决《循环完成运行后,在循环外返回意外值》经验,为你挑选了1个好方法。

任何人都可以解释这里发生了什么?

for (var i = 0; i < 10; i++) {
  /* ... */
}
console.log(i);

//expect 9 as loop states i < 10, however it shows 10

我希望i记录的时候会显示值为9.据我所知,循环将从0-9运行,然后在循环声明时停止i < 10.但是,当console.log(i)它显示时10.任何人都可以解释为什么会这样吗?



1> JCOC611..:

增量发生最后一次检查之前.

换句话说,循环结束当且仅当i >= 10,因此在循环结束后,i必须至少为10.

循环发生如下:

    var i = 0;

    检查是否i < 10(true),执行循环.

    执行i++.

    重复步骤2和3,直到i < 10为假(在这种情况下,直到i = 10).

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有