jquery源码分析
今天看到这部分不是很了解,还请各位帮忙给分析分析:1. jquery映入眼帘的就是这个自调用匿名函数:
(function( window, undefined ) {
// jquery code
})(window);
2.为什么要传入window呢?
通过传入window变量,使得window由全局变量变为局部变量,当在jQuery代码块中访问window时,不需要将作用域链回退到顶层作用域,这样可以更快的访问window;这还不是关键所在,更重要的是,将window作为参数传入,可以在压缩代码时进行优化,看看jquery-1.6.1.min.js:
(function(a,b){})(window); // window 被优化为 a
我对标红的地方有疑问,不需要将作用域练回退到顶层作用域,这里为什么不需要回退而且为什么要回退到顶层作用域?作用域连是怎么回退的?而且,为什么会更快的访问window?
还有对压缩代码有好处,我能这样理解吗:当发布的时候,把代码压缩,就把window和undefined压缩为a和b,在整个文件中这个地方用的不多,这样压缩有意义吗?
麻烦各位帮我分析分析。。。 --------------------编程问答-------------------- 自己 先顶一个 别沉了 --------------------编程问答-------------------- 自己 先顶一个 别沉了 --------------------编程问答-------------------- 这样window就成了这个函数自己内部的东西了,自己的东西访问起来应该会快点儿吧。 --------------------编程问答-------------------- window变成a了,就小了呗。压缩一下占的空间就更小了,文件小了,占带宽就小了。
个人感觉,不知道是不是对的。
补充:Java , Java相关