为什么jQuery在开始时会有一个"window = this"并说它会加快对窗口的引用?

Dav*_*vid 3 javascript jquery lexical-scope

当我打开jQuery的源代码时,我找到了这一行.

var 
// Will speed up references to window, and allows munging its name.
window = this
Run Code Online (Sandbox Code Playgroud)

这条线为什么以及如何加速?

Cre*_*esh 13

  1. javascript函数有词法范围
  2. jQuery将其整个实现包装在一个匿名函数中
  3. 当所述函数开始执行时,它在"全局"范围内执行(即this== window).

"window = this;" 只需在该范围内创建一个本地标识符,以便对它的引用不必在本地范围之外"冒泡"以解决.