JS 两种for有什么区别?

如下代码,使用:


for(i = 0; i < mycars.length; i++) {
        console.log(IsNullOrWhiteSpace(mycars[i]))
   }

就会陷入死循环。


而使用:

for(var i in mycars) {        console.log(IsNullOrWhiteSpace(mycars[i]))
    }

代码则正常运行,两种循环有什么区别?


完整代码如下:

https://img3.mukewang.com/5bc2ff5c0001bb7b03480600.jpg

喵喔喔
浏览 539回答 1
1回答

胡说叔叔

for(i = 0; i < mycars.length; i++) {console.log(IsNullOrWhiteSpace(mycars[i]))}你所有的循环体都没有使用var去定义i,导致i成了全局变量,重复赋值导致i取值不确定,因此可能导致死循环了。赋值过程请自行debug。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript