我正在浏览jQuery的源代码。我无法理解jQuery对象的包装策略。组织jQuery对象
(function(window, undefined) {
// Define a local copy of jQuery
var jQuery = function(selector, context) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init(selector, context);
},
....
....
....
// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;
})(window);
具体来说,我无法理解的是源于第一行。
什么是最外层的未命名容器功能?为什么需要?
为什么容器的功能是匿名的?
什么是需要在最外面的“(”括号?
看到这个问题:) http://stackoverflow.com/questions/2716069/how-does-this-javascript-jquery-syntax-work-function-window-undefined – 2010-05-28 10:30:30
该问题主要是关于'undefined'参数。但似乎有几个链接在那里... – sonofdelphi 2010-05-28 10:39:53
啊,'undefined'。这是令人费解的,不是吗?我不确定它做了什么。也许这是一种确保'arguments'中只有一个项目的方法?所以如果有人引用'arguments',它只有'window'值?只是一个猜测,所以可能是完全错误的。 – Tauren 2010-05-28 19:40:12