window.jQuery还是jQuery?

时间:2013-04-06 08:23:22

标签: javascript jquery html plugins zepto

(function($) {
// plugin code
})(window.jQuery);

似乎这个代码效果几乎相同,如:

(function($) {
// plugin code
})(jQuery);

我应该使用window.jQueryjQuery作为函数参数吗?它有意义吗?

相同的Zepto,我看到很多人在他们的插件中使用window.Zepto,但代码也适用于Zepto

4 个答案:

答案 0 :(得分:6)

没有区别,window是客户端JavaScript中的 super 全局对象,全局上下文中定义的所有函数和变量都是{的方法和属性{1}}对象。

答案 1 :(得分:4)

就像$(document).ready(function(){..})$(function(){..})一样。

它用于设置jQuery闭包。目的是允许变量$用作jQuery的快捷方式,而不会与其他库和使用$作为变量名的自定义函数冲突

这种技术经常被jQuery插件作者用来授权他们的插件。检查documentation以获取更多信息。

答案 2 :(得分:2)

window.jQuery是窗口全局对象中定义的对象。可以跳过window。跳过时,我们应该是window.jQuery。大多数人不使用window.jQuery而是使用jQuery或简单$,并且更容易理解,也会减少源代码大小。

window.jQuery = window.$ = jQuery;

您可以通过here了解更多信息。

答案 3 :(得分:0)

有区别。如果未定义jQuery,!!window.jQuery将返回false,而如果未定义jQuery,则!!jQuery将引发错误。