ZoNT,
Ваш пример наглядно показывает только то, что
array.push(element);
работает медленнее, чем
array[index];
У вас в первом примере используются только локальные переменные, а во втором - две локальные переменные (в своих контекстах), а вторая просто вставляет элемент глобальной.
Локальные переменные работают быстрее в любом контектсте.
Вот два
идентичных примера, проверьте самостоятельно:
// Пример с локальной переменной:
function F1(){
var a = [];
for (var i=0;i<1000;i++) a.push(i);
}
var start = new Date();
for (var i=0;i<1000;i++) F1();
var res1 = (new Date())-start;
// Пример с глобальной переменной:
function F2(){
for (var i=0;i<1000;i++) b.push(i);
}
start = new Date();
for (var i=0;i<1000;i++) {
var b = [];
F2();
}
var res2 = (new Date())-start;
alert([res1,res2]);