(function(){
})();
(function(){
var a = 10;
function $(){
alert(a);
}
window.$ = $;
})();
$();
//jquery2.0.3中是这样写的:
(function( window, undefined ) {
window.jQuery = window.$ = jQuery;
})( window );
//为啥又传一个 undefined呢 ????
//查阅资料发现
//在Ecmascript 3中,undefined是可变的,不是关键字,这意味着它的值可以被覆盖或者重新赋值。如undefined = true。
//这意味着,如果有人重新定义了undefined,对我们也是么有影响的,想下面这样:
undefined = true;
(function (window, document, undefined) {
// undefined is a local undefined variable
})(window, document);
window.a == undefined;
typeof window.a = "undefined";