使用jQuery避免命名冲突的不同方法?
我可以看到在javascript代码中有很多安全使用jQuery的方法。这意味着jQuery的典型“$”快捷方式不起作用,因此它不会与任何其他JavaScript库冲突使用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($)
var j = jQuery.noConflict();
// Do something with jQuery
j("div p").hide();
jQuery("div p").hide();
(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.noConflict())
第三个方法实际上是方法2和闭包。是的,你也可以将第一个和最后一个结合起来:(函数($){})(jQuery.noConflict())
您知道其他库调用自己的jQuery吗?您知道其他库调用自己的jQuery吗?