最高效的是将
for
循环条件语句中的
.length
属性存入一个局部变量
算法一,使用for in,:
var i=0
for (i in obj){
document.write("The obj is " + obj[i] +"<br />")
}
运行时间结果是最长的,即最没有效率的:(24ms)
算法二,for循环
for (var i=0 ; i < obj.length; i++){
document.write("The obj is " + geo[i] +"<br />")
}
运行时间结果,比较有效率(17ms)
算法三 for循环,将i.length存储为局部变量
for (var i=0, len=obj.length; i < len; i++){
document.write("The obj is " + obj[i] +"<br />")
}
运行时间结果,最高效。(14ms)
该规则是指:在循环中,将i.length存储为局部变量,可以提高for循环的效率。在使用循环的时候,如果已经知道其结构和内容数据类型,避免使用for in, 除非是在一个不明确的对象里面,需要迭代其内部对象。