!函数($){}(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($){// function here here})(jQuery);
  • 该功能之前感叹号做了什么?
  • 链接地址: http://www.djcxy.com/p/96903.html

    上一篇: !function ($) { }(window.jQuery) what is this code for?

    下一篇: negating self invoking function? !function ($) { ... }(window.jQuery);