读书人

JQuery源码的有关问题

发布时间: 2012-09-05 15:19:34 作者: rapoo

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

读书人网 >JavaScript

热点推荐