我从书上了解到,你应该这样写for循环:
for(var i=0, len=arr.length; i < len; i++){
// blah blah
}
所以 arr.length
不会每次都计算。
其他人说编译器会对此做一些优化,所以你可以写:
for(var i=0; i < arr.length; i++){
// blah blah
}
我只是想知道哪种方法在实践中是最好的?
最佳答案
使用大多数现代浏览器执行此测试后: https://jsben.ch/wY5fo
目前,最快的循环形式(在我看来也是最明显的语法)。
具有长度缓存的标准 for 循环
var i = 0, len = myArray.length;
while (i < len) {
// your code
i++
}
我想说,这绝对是我为 JavaScript 引擎开发人员鼓掌的一个案例。运行时应该针对清晰而不是聪明进行优化。
关于javascript - 在 JavaScript 中循环遍历数组的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5349425/