!函数($){}(window.jQuery)这个代码是什么?
可能重复:
这样做的目的是什么? (function($){// function here here})(jQuery);
该功能之前感叹号做了什么?
否定自我调用功能? !函数($){...}(window.jQuery);
!function ($) {
$(function() {
.
.
.
})
}(window.jQuery)
我在一个jQuery的例子中看到了这个,并且想知道!function($){}(window.jQuery)的用途是什么。 特别是感叹号对我来说是新的。
好的,我在做了一些研究之后发现了它,但我会将答案留给其他人。
基本上它是为了避免与其他使用美元符号的JavaScript库冲突 。
所以Jquery建议使用jQuery或window.jQuery而不是美元符号 。 它通常与jQuery.noConflict()结合使用,以便在混合库时让jQuery放弃其他JavaScript库中使用的$符号。
这实际上是一种运行自执行函数的方法,该函数 传入 window.jQuery对象并将其传递给$符号。 这样,您可以继续在代码中使用美元符号,而无需担心可能导致与代码冲突的其他JavaScript库。
将它封装在这个函数中可以避免在任何地方使用window.jQuery来替换$符号。
如果像这样execute function () {}()
那么它会导致语法错误,因为它只是一个函数声明。 !! 把它变成一个可以执行的表达式 。
所以基本上你可以将两者用于相同的目的。
!function($){}()
(function($){})()
随意修改或补充。
引用:
上一篇: !function ($) { }(window.jQuery) what is this code for?
下一篇: negating self invoking function? !function ($) { ... }(window.jQuery);