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

时间:2012-03-21 07:55:40

标签: jquery

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

  1. 我们不能创建冲突对象。

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

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

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

    提前致谢...... !!

3 个答案:

答案 0 :(得分:3)

使用方法2.只需使用JQuery调用它。因为没有其他图书馆会称他们为JQuery。

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

使用 jQuery 代替 $ 是一种很好的做法/习惯。所以理想的方法是方法2. $ 只是 jQuery 这个词的简写。虽然你可以使用3中的任何一个,但这三个都同样可以