Почему jQuery имеет «window = this» в самом начале и говорит, что это ускорит ссылки на окно? - PullRequest
3 голосов
/ 19 февраля 2009

Когда я открываю исходный код jQuery, я нахожу эту строку.

var 
// Will speed up references to window, and allows munging its name.
window = this

Почему и как эта линия ускорится?

Ответы [ 2 ]

13 голосов
/ 19 февраля 2009
  1. функции javascript имеют лексическую область действия
  2. jQuery упаковывает всю свою реализацию в анонимную функцию
  3. когда указанная функция начинает выполнение, она выполняется в «глобальной» области (например, this == window).

"window = this;" просто создает локальный идентификатор в этой области, так что ссылки на него не должны «всплывать» за пределами локальной области для разрешения.

0 голосов
/ 19 февраля 2009

this будет быстрее ссылаться на javascript по сравнению с window, который должен быть разрешен для объекта окна.

...