Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript for(数组中的变量x)和for(变量x=0,y=array.length;x_Javascript_Performance_For Loop - Fatal编程技术网

Javascript for(数组中的变量x)和for(变量x=0,y=array.length;x

Javascript for(数组中的变量x)和for(变量x=0,y=array.length;x,javascript,performance,for-loop,Javascript,Performance,For Loop,当我想循环一个数组并在每个元素后面添加一个字符串时 我也可以 for(var x in array){ array[x] += "string"; } 或 但是这两个for循环在性能上有什么不同吗?通常,for…in的速度要慢得多,因为它作为一个公共对象访问数组,而经典的for循环不需要整理数组的所有属性来执行其任务 请记住,现代浏览器对数组有特殊的优化,但如果将它们视为公共对象,则无法利用它们。通常,因为…in的访问速度要慢得多,因为它将数组作为公共对象访问,而经典的for cycle

当我想循环一个数组并在每个元素后面添加一个字符串时

我也可以

for(var x in array){
 array[x] += "string";  
}

但是这两个for循环在性能上有什么不同吗?

通常,for…in的速度要慢得多,因为它作为一个公共对象访问数组,而经典的for循环不需要整理数组的所有属性来执行其任务

请记住,现代浏览器对数组有特殊的优化,但如果将它们视为公共对象,则无法利用它们。

通常,因为…in的访问速度要慢得多,因为它将数组作为公共对象访问,而经典的for cycle不需要整理数组的所有属性来执行其任务


请记住,现代浏览器对数组有特殊的优化,但如果将它们视为普通对象,则无法利用它们。

建议不要将其用于。。。在中,可以对数组进行迭代

i、 e


你应该使用。。。在中,仅对对象属性进行迭代。

建议您不要使用。。。在中,可以对数组进行迭代

i、 e


你应该使用。。。在中,仅对对象属性进行迭代。

对于性能检查,请注意,在这两种情况下,您都向每个元素的索引添加了一个字符串,这将中断第二个循环,因为您从未初始化x。是否执行并检查输出。不清楚要执行什么操作。不要使用for…in来循环数组,请参阅chromeFor performance check中的,大约快12倍。请注意,在这两种情况下,您都向每个元素的索引中添加了一个字符串,这将中断第二个循环,因为您从未初始化x。您是否执行并检查了输出。现在还不清楚你想做什么。永远不要使用…在数组中循环,请参阅,在chrome中大约快12倍
for(var x, y = array.length; x<y; x++){
 array[x] += "string";  
}