Javascript &引用;jQuery(…)”;而不是",$(……)”等;
编写Javascript &引用;jQuery(…)”;而不是",$(……)”等;,javascript,jquery,Javascript,Jquery,编写jQuery(“…”)而不是$(“…”)是一种好的做法吗 我听说如果其他库也使用$,这可能有助于避免将来与其他库发生冲突,但这是一个现实问题吗?比方说,我真的不知道我将来会使用哪些库,所以我应该避免在脚本中编写$(“…”)?还有其他著名的库依赖于$吗 另外,我想知道这个主题是否还有其他问题。$现在经常使用,如果您不使用它,其他库事件可能会使用它。你可以用 许多JavaScript库使用$作为函数或变量名,只是 就像jQuery一样。在jQuery中,$只是jQuery的别名,所以 所有功能均
jQuery(“…”)
而不是$(“…”)
是一种好的做法吗
我听说如果其他库也使用$
,这可能有助于避免将来与其他库发生冲突,但这是一个现实问题吗?比方说,我真的不知道我将来会使用哪些库,所以我应该避免在脚本中编写$(“…”)
?还有其他著名的库依赖于$
吗
另外,我想知道这个主题是否还有其他问题。$现在经常使用,如果您不使用它,其他库事件可能会使用它。你可以用 许多JavaScript库使用$作为函数或变量名,只是 就像jQuery一样。在jQuery中,$只是jQuery的别名,所以 所有功能均可用,无需使用$。如果您需要使用 jQuery旁边的另一个JavaScript库,返回$back控件 调用$.noConflict()调用另一个库。旧的参考文献 在jQuery初始化过程中保存$;noConflict()只恢复 他们,参考
使用$forjQuery是非常安全的,这是jQuery的习惯用法,至少在您自己控制的页面上是如此 如果您确实选择在小部件中使用jQuery,那么您可以以一种防止冲突的方式来构造它 一般来说,jQuery同时绑定到$和jQuery,因此单独使用jQuery并不能保证安全 如果您关心冲突,jQuery会公开$.noConflit(); 这将放弃对$的控制,您可以将jQuery存储在您选择的变量中(或使用jQuery) 以下是基于和使用$符号的库: 浏览此页面时,我想到的只有:
您可以使用sell调用函数包装代码,并使用您想要的名称
(function (JQUERY, otherLIB) {
// ...
}(jQuery, $))
其他一些图书馆也使用美元符号。我也可以用。但是总是有可能使用jQuerys模式,因此您可以非常安全地在代码中使用美元符号。由于jQuery是众所周知的,所以
$
只是一个简写名称空间,许多javascript框架倾向于将$
视为保留名称空间,并避免使用它。也就是说,任何人都很容易将任何代码命名为窗口。$
如果您知道$
名称空间确切指的是什么,那么您可以删除对该名称空间的jQuerys绑定,并将其自己重新绑定到全局范围之外
jQuery.noConflict();
(function($) {
// your code that can use $ as jQuery namespace
})(jQuery);
如果您正在使用
.ready()
函数(或快捷方式版本)包装代码,那么已经内置了一些功能,可以让您安全地访问jQuery库。这是通过在您提供的回调中定义函数参数实现的
jQuery(document).ready(function($) {
/* in here, $ is safe */
});
jQuery(function($) {
/* in here, $ is safe */
});
由于jQuery将自身作为第一个参数传递给回调,因此您可以给它任何您想要的名称,包括$
。因为它形成一个局部参数,所以它不受全局空间中相同名称的影响,也不会影响全局空间中的相同名称
这样就不需要
.noConflict()
或手动IIFE方法。您所需的一切都已准备就绪。如果您使用的是.ready()
函数或快捷方式版本,那么您只需执行以下操作:jQuery(document).ready(函数($){/*$是安全的*/})
(或快捷方式版本。)jQuery(函数($){/*$是安全的*/})代码>这样就不需要.noConflict()
或手动的生活方式。@CrazyTrain谢谢你的解释!你会把它作为答案发布吗?:)当然,我能做到。给我一分钟。