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); })();