javascript – 有人可以解释jQuery中的函数($)

前端之家收集整理的这篇文章主要介绍了javascript – 有人可以解释jQuery中的函数($)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我正在阅读其他人的代码,并发现了这个:
// Semicolon (;) to ensure closing of earlier scripting
// Encapsulation
// $is assigned to jQuery
;(function($) {

     // DOM Ready
    $(function() {
        ...
  });

})(jQuery);

我理解领先的观点;,我理解$(function(){与文档准备相同,但添加函数($)的重点是什么?

我知道它是一个闭包,但由于它总是在全局范围内调用,所以看起来你不需要打扰它. $(function(){将使用相同的全局对象,不是吗?

它是为了防范某些事情,还是出于其他原因的最佳做法?

@H_301_11@解决方法
这是jQuery插件的常见结构.它可以防止已被覆盖的$标识符用于其他内容.在匿名函数中,$总是引用jQuery.

例:

$= "oh no";
$(function() { //Big problem!
    //DOM ready
});

通过引入新范围,您可以确保$引用您期望的内容

$= "oh no";
(function($) { //New scope,$is redeclared and jQuery is assigned to it

    $(function() { //No problem!
        //DOM ready
    }); 

}(jQuery));

其背后的主要原因是许多其他JavaScript库使用$作为标识符(例如PrototypeJS).如果你想同时使用Prototype和jQuery,你需要让Prototype拥有它的$identifier,但是你可能不希望每次想要调用jQuery方法时都写出jQuery.通过引入一个新的作用域,您可以让jQuery在该执行上下文中获得它的$.

原文链接:https://www.f2er.com/jquery/158858.html

猜你在找的jQuery相关文章