(function(window,undefined){
var jQuery = ...
window.jQuery = window.$ = jQuery;
})(window);
1.为什么要为jQuery设置通用参数window,并传入window?
将window对象作为局部变量传入,这样在代码块中访问就不用回推倒作用域链的顶层寻找;
利于代码压缩优化。
同样可以缩短作用于链,利于代码优化(将undefined压缩成a或者b)
var n=1
(function(){})() // 报错,自调用命名函数会被看作一个函数调用
(function(){})()
(function(){})() //报错第二行的匿名函数的第一对 () 会被看成是函数调用