Показать сообщение отдельно
  #32 (permalink)  
Старый 21.11.2014, 22:40
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от devote
ну было бы странно если бы он работал быстрее.. Он же на каждую итерацию вызывает функцию, а вызов функции пожирает большие ресурсы.
Навряд ли в этом дело. Скорей, в кривости реализации.
Array.prototype.foreach=function(f){
   for(var i=0; i<this.length; i++) f(this[i])
}

arr=[]
i=10000
while(i--){arr.push(i)}

tst=function(x){return x + 1}
console.time("forEach")
arr.forEach(tst)
console.timeEnd("forEach")
console.time("foreach")
arr.foreach(tst)
console.timeEnd("foreach")

// forEach: 58ms
// foreach: 1ms
Ответить с цитированием