猿问

js for循环中多个变量?

for(var i=0; i<10; i++) {

someCode...

}

for(var i=0, len=arr.length; i<len; i++) {

someCode...

}

请问这两种for循环,有什么区别?为什么需要这么写?


慕后森
浏览 1777回答 1
1回答

30秒到达战场

你的对比是有问题的,应该将你的第一个例子改为for(var&nbsp;i=0;&nbsp;i<arr.length;&nbsp;i++)&nbsp;{ someCode... }这样才能和第二个进行对比。按照你之前的写法根本不具有对比性,一个是只会循环10次,一个是循环length次,这没有可比性,如同比较水和石头一样,实在难以回复。如若是换成我上面的写法,那么区别为:在循环体中没有引起数组元素个数变化的情况下,两种是等价的,只是后者缓存了长度,原则上讲效率更高,但是现代浏览器早已对数组长度进行了优化,所以基本是没有区别的,缓存还是不缓存看你个人习惯。如果循环体中有引起数组元素个数变化的情况,那么循环进行的次数前者后和后者就不相同了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答