(function(window, undefined) {
var jQuery = ...
...
window.jQuery = window.$ = jQuery;
})(window);
整个代码包裹在一个立即执行匿名函数内。
这样写的优点:
1. 通过写立即执行匿名函数,这样不会干扰jQuery内部的代码,也不会破坏和污染全局变量;
2. 把window当做参数传进去:
(1)能缓存window对象,使其变成局部变量,可以缩短查找作用域链,加快查找速度;
(2)使压缩比提高,方便压缩优化;
3. 把undefined当做变量传进去,但是调用的时候不传参:
(1)能防止undefined在低版本浏览器(ie8及以下)被重写;
(2)能缓存undefined,可以缩短查找undefined的作用域链;
(3)提高压缩比
4. 立即执行匿名函数必须添加“;”,不然,容易发生语法错误,立即执行的函数最好不省略之前和之后的分号。