当我想loop
array
并在每个element
后面添加一个字符串时,
我可以
for(var x in array){
array[x] += "string";
}
或
for(var x, y = array.length; x<y; x++){
array[x] += "string";
}
但是这两个for loops
在性能方面有什么区别吗?
建议不要使用 for ... in
遍历数组。
即为什么使用"为...在"数组迭代是一个坏主意?
应仅使用 for ... in
循环访问对象属性。
通常,for...in
速度要慢得多,因为它作为公共对象访问数组,而经典的for
周期不需要整理array
的所有属性来执行其任务。
请记住,现代浏览器对数组进行了特殊优化,但如果将它们视为公共对象,则无法利用它们。