问题
When I open jQuery's source code I find this line.
var
// Will speed up references to window, and allows munging its name.
window = this
Why and how this line will speed up?
回答1:
- javascript functions have lexical scope
- jQuery wraps its entire implementation in an anonymous function
- when said function begins execution it is executing in the "global" scope (ie
this
==window
).
"window = this;"
simply creates a local identifier in that scope so that references to it do not have to "bubble up" outside of the local scope to resolve.
回答2:
this
would be faster for javascript to reference to, as compared to window
which would have to be resolved to the window object.
来源:https://stackoverflow.com/questions/563875/why-does-jquery-has-a-window-this-at-the-very-begining-and-say-it-would-speed