我写了一个插件(它使用 jquery)。
我应该把它附加到 jquery 的美元符号上吗?
$.myPlugin=...
还是我应该附上它 window.myPlugin=...
?
当然,如果没有 jQuery,这个插件将无法工作。但这是否意味着我应该创建一个 GOD 对象($)并将所有内容附加到它(到美元符号)。?
(假设$
是页面上的单个库对象)
我写了一个插件(它使用 jquery)。
我应该把它附加到 jquery 的美元符号上吗?
$.myPlugin=...
还是我应该附上它 window.myPlugin=...
?
当然,如果没有 jQuery,这个插件将无法工作。但这是否意味着我应该创建一个 GOD 对象($)并将所有内容附加到它(到美元符号)。?
(假设$
是页面上的单个库对象)
根据 jQuery 站点,您应该将其附加到jQuery
对象,甚至不附加到$
(可能会或可能不会被重用)。请参阅http://learn.jquery.com/plugins/basic-plugin-creation/。
请注意,典型的模式是$
在定义中使用 the 作为别名:
(function ( $ ) {
// jQuery recommends avoiding more than one instance method, instead taking
// a parameter, or better yet, an extensible options object:
$.fn.instanceMethod = function(options) {
//...
return this;
};
$.classMethod = function () {
//....
};
}( jQuery ));
如果您的插件依赖于 jQuery,最好将其附加到$
签名(或jQuery
)上。使用 IIFE(立即调用的函数表达式)时,您可以安全地执行此操作
(function($){
// you code here that does $.myPlugin=...
})(jquery);