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

hogart, код же открыт (я бегло посмотрел версию 1.3.2). Посмотрите jQuery.fn.init (строка 36): объект именно этого конструктора создаётся каждый раз по вызову функции $ (т.е. в любом случае, $ - возвращает всегда новый объект jQuery, поэтому даже $('some') != $('some')).

Касаемо же кеширования DOM-объектов - я не увидел (но, повторю - просмотрел код бегло). Например, в строке 61 видно, что .getElementById вызывается каждый раз (для $('#someId')).

В строке 41 видно, что, если передан DOM-объект, он возвращается сразу (вернее, возвращается новый объект jQuery, в который обёрнут DOM-объект).

Все остальные селекторы обрабатываются функцией .find; причём, забавно (см. строку 78) - заново запускается эта же функция - $, и снова создаётся новый объект, и затем уже вызывается её метод .find =)
__________________
Тонкости ECMAScript

Последний раз редактировалось Dmitry A. Soshnikov, 13.03.2009 в 12:19.
Ответить с цитированием