Показать сообщение отдельно
  #68 (permalink)  
Старый 09.04.2009, 20:54
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от Riim
Теоретически, процентов 10 максимум.
Почти 100%.

У меня интерес всегда академический. Отрицать/не принимать очевидное - какой смысл? Есть разница - каждый раз создавать или один раз?

function test(callback) {
  callback();
}
var t1, t2;
function _callback1() {
  var div = document.createElement('div');
  var fragment = document.createDocumentFragment();
  var _div = div;
  var _fragment = fragment;
}
t1 = new Date().getTime();
for (var k = 0; k < 100000; k++) {
  test(_callback1);
}
t2 = new Date().getTime();
alert(t2 - t1);

function _callback2() {
  var _div = arguments.callee.div;
  var _fragment = arguments.callee.fragment;
}
_callback2.div = document.createElement('div');
_callback2.fragment = document.createDocumentFragment();
t1 = new Date().getTime();
for (var k = 0; k < 100000; k++) {
  test(_callback2);
}
t2 = new Date().getTime();
alert(t2 - t1);


Минимум в два раза быстрее (а где-то (IE6 на моей машине) в 5-8 раз).

Впрочем, повторю, Вы сами определяете приоритет.
__________________
Тонкости ECMAScript
Ответить с цитированием