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

Riim, стоп. У вас операция document.createElement('div'); сколько раз вызывается? Один?

Сообщение от Riim
Вы сравниваете обращение к свойству и вызов метода.
Не понял. И там - test(_callback1), и там - test(_callback2) - вызов test с своим коллбэком.

Первый коллбэк (Ваш, где Вы создаёте каждый раз div и fragment):

function _callback1() {
  var div = document.createElement('div');
  var fragment = document.createDocumentFragment();
  var _div = div;
  var _fragment = fragment;
}


Второй коллбэк (предложенный, где div и fragment создались единожды и записались свойствами в коллбэк):
function _callback2() {
  var _div = arguments.callee.div;
  var _fragment = arguments.callee.fragment;
}
_callback2.div = document.createElement('div');
_callback2.fragment = document.createDocumentFragment();


Сообщение от Riim
Т. е. вы удалили весь лишний шум. Но при реальном применении, этот шум будет, и его нужно учитывать.
Какой ещё шум? До шума, действительно, и дела нет. Я Вам предложил заменить постоянное создание div и fragment на один раз. Другого я не касался.

Сообщение от Riim
Определитесь, что мы сравниваем два по разному написанных метода или "обращение к свойству" vs "вызов метода".
О чём Вы продолжаете говорить (и отрицать?), я не понимаю? =) Какой вызов метода, какое свойство? Если Вы под "вызов метода" подразумеваете document.createElement('div'); и document.createDocumentFragment(); vs. arguments.callee.div; и arguments.callee.fragment; - так я Вам это и предложил.

P.S.: ещё раз - у Вас document.createElement('div'); и document.createDocumentFragment(); один раз вызываются? Нет? А почему? А! Вы говорите об оптимизации по объёму кода; что ж, Вам решать (я это третий раз говорю уже).
__________________
Тонкости ECMAScript
Ответить с цитированием