JQuery源码的问题
jquery源码最外层
(function( window, undefined ) {})( window );
这个是不是就类似于:
var x= function(window,undefined){};
x(window);
问题是 它为什么要有一个undefined。它最外层这么写 是想做什么呢
------解决方案--------------------undefined
缓存undefined,能快速访问,也为了防止undefined被覆盖。
------解决方案--------------------因为undefined不是js的关键字,所以为了屏蔽浏览器的差异,必须手动声明一个undefined变量,其实为未定义(即undefined);你可以在IE下和firefox下试试下面的代码,其中代码1和代码2等效
JScript code
var undefined = "1";
(function(undefined){ // 代码1
var a;
alert(a === undefined);
})();
(function(){ // 代码2
var undefined;
var b;
alert(b === undefined);
})();
(function(){ // 代码3
var c;
alert(c === undefined);
})();