(function($) {
// plugin code
})(window.jQuery);
似乎这段代码的效果几乎相同,为:
(function($) {
// plugin code
})(jQuery);
我应该使用window.jQuery
还是jQuery
函数参数?是否有意义?
Zepto 也一样,我看到很多人window.Zepto
在他们的插件中使用,但代码也适用于Zepto
.
(function($) {
// plugin code
})(window.jQuery);
似乎这段代码的效果几乎相同,为:
(function($) {
// plugin code
})(jQuery);
我应该使用window.jQuery
还是jQuery
函数参数?是否有意义?
Zepto 也一样,我看到很多人window.Zepto
在他们的插件中使用,但代码也适用于Zepto
.
没有区别,window
就是客户端 JavaScript 中的超级全局对象,所有在全局上下文中定义的函数和变量都是window
对象的方法和属性。
就像$(document).ready(function(){..})
and一样$(function(){..})
。
它用于设置 jQuery 闭包。目的是允许变量 $ 用作 jQuery 的快捷方式,而不会与也使用 $ 作为变量名的其他库和自定义函数冲突
jQuery 插件作者经常使用这种技术来授权他们的插件。检查文档以获取更多信息。
window.jQuery
是在窗口全局对象中定义的对象。window
可以跳过。当跳过它应该是我们window.jQuery。大多数人不使用window.jQuery,而是使用jQuery
或简单地使用$
并且更容易理解也减少了源代码大小。
window.jQuery = window.$ = jQuery;
你可以在这里阅读更多。
它们是有区别的。!!window.jQuery
如果未定义 jQuery,将返回 false,如果未定义 jQuery,!!jQuery
将抛出错误。