使用jQuery避免命名冲突的不同方法?

使用jQuery避免命名冲突的不同方法?,jquery,Jquery,我可以看到在javascript代码中有很多安全使用jQuery的方法。这意味着jQuery的典型“$”快捷方式不起作用,因此它不会与任何其他JavaScript库冲突 我们不能创建冲突对象 var j = jQuery.noConflict(); // Do something with jQuery j("div p").hide(); 在代码中对$使用jQuery jQuery("div p").hide(); 使用像这样的立即调用函数表达式(IIFE) (function($)

我可以看到在javascript代码中有很多安全使用jQuery的方法。这意味着jQuery的典型“$”快捷方式不起作用,因此它不会与任何其他JavaScript库冲突

  • 我们不能创建冲突对象

    var j = jQuery.noConflict();
    // Do something with jQuery
    j("div p").hide();
    
  • 在代码中对$使用jQuery

    jQuery("div p").hide();
    
  • 使用像这样的立即调用函数表达式(IIFE)

    (function($) {
        $("div p").hide();
    })( jQuery );
    
  • 那么哪种方法是最好的方法?或者有没有更好的方法没有列出


    提前感谢

    使用方法2。只需使用JQuery调用它。因为没有其他库会调用自己的JQuery。

    使用方法2。只需使用JQuery调用它。因为没有其他库会调用Selve JQuery。

    我建议使用第三个选项,主要原因是:

    • 它自动避免了与其他库的冲突(并且您不必依赖
      noConflict
      方法-因此这种编码方式可以应用于任何库)
    • 它可以防止您污染全局命名空间(当然,如果您不将变量直接固定到窗口:
      window.foo=bar
    • 您仍然可以使用美元符号而不是大jQuery单词(在开发过程中,您在一个小项目上至少会使用30次)

      • 我建议第三种选择,主要是因为:

        • 它自动避免了与其他库的冲突(并且您不必依赖
          noConflict
          方法-因此这种编码方式可以应用于任何库)
        • 它可以防止您污染全局命名空间(当然,如果您不将变量直接固定到窗口:
          window.foo=bar
        • 您仍然可以使用美元符号而不是大jQuery单词(在开发过程中,您在一个小项目上至少会使用30次)

        使用jQuery而不是$是一个很好的实践/习惯。因此,理想的方法是方法2$只是jQuery这个词的简写。尽管您可以使用这三种方法中的任何一种,但这三种方法都同样适用

        使用jQuery而不是$是一种很好的实践/习惯。因此,理想的方法是方法2$只是jQuery这个词的简写。尽管您可以使用这3个选项中的任何一个,但这三个选项都同样可以

        最安全的方法是只使用jQuery.Huh。代码选择功能不起作用…@BoltClock这真的是他想要的吗?最安全的方法是只使用jQuery.Huh。代码选择的东西不起作用了…@BoltClock这真的是他想要的吗?第三个方法实际上是方法2和闭包。是的,你也可以将第一个和最后一个结合起来:
        (函数($){})(jQuery.noConflict())
        第三个方法实际上是方法2和闭包。是的,你也可以将第一个和最后一个结合起来:
        (函数($){})(jQuery.noConflict())
        您知道其他库调用自己的jQuery吗?您知道其他库调用自己的jQuery吗?