jquery window=this
网上闲逛,看到有对jquery源码中window=this的解释
var
// Will speed up references to window, and allows munging its name.
window = this,
// Will speed up references to undefined, and allows munging its name.
undefined
奇怪的是munging 这个单词查不到...
speed up references to window所谓的提高性能是避免每次使用window时都需要向上级作用域查找。
具体参考http://www.blogjava.net/hulizhong/archive/2009/11/05/301323.html
然而,完全理解还必须
1、理解javascript中的this
1)对象的方法中的this指向当前对象
2)函数中的this指向window
这个理解其实挺复杂的,具体的必需阅读: http://mcarthurgfx.com/blog/article/4-ways-functions-mess-with-this
2、javascript的作用域
函数作用域
javascript这个特殊的函数作用域的估计叫"Lexical scoping"
http://blogs.msdn.com/kartikb/archive/2009/01/15/lexical-scoping.aspx
另外javascript没有块级作用域
如下面的代码在java或.net当中都很好理解的
var myVar = 'global';
function f(){alert(myVar); var myVar = 'local'; alert(myVar);}
并不是预想的那样提示global,local...
附:jquery早期源码不是这样的写法
JQuery1.1.2代码18行
if ( window == this )
return new jQuery(a,c);
曾(2.5年前)对此代码困惑不已,当然一直未曾深究...
不想现在没这句代码了...
http://en.wikipedia.org/wiki/Mung_%28computer_term%29