我从书中了解到,你应该这样写:
for(var i=0, len=arr.length; i < len; i++){
// blah blah
}
因此,不会每次计算arr.length
.
其他人说编译器会对此进行一些优化,因此您只需编写:
for(var i=0; i < arr.length; i++){
// blah blah
}
我只是想知道实践中哪种方法最好?
我从书中了解到,你应该这样写:
for(var i=0, len=arr.length; i < len; i++){
// blah blah
}
因此,不会每次计算arr.length
.
其他人说编译器会对此进行一些优化,因此您只需编写:
for(var i=0; i < arr.length; i++){
// blah blah
}
我只是想知道实践中哪种方法最好?
在使用大多数现代浏览器执行此测试后:
Currently,循环的最快形式(在我看来是最明显的语法).
带长度缓存的循环标准
var i = 0, len = myArray.length;
while (i < len) {
// your code
i++
}
我想说的是,这绝对是我为JavaScript引擎开发人员鼓掌的情况.运行时应优化为clarity, not cleverness.