写jQuery("...")而不是写一个好习惯$("...")?
我听说如果他们使用$同样的方法,避免与其他图书馆的未来冲突可能会有用,但这是否真的存在?假设我真的不知道将来会使用哪些其他库,那么我应该避免$("...")在脚本中编写吗?是否还有其他知名图书馆依赖$?
此外,我很想知道这个主题是否还有其他问题.
使用$ for jQuery是完全安全的,它是jQuery的习惯用法,至少在你自己控制的页面上.
如果您确实选择在窗口小部件中使用jQuery,则可以以防止冲突的方式对其进行构造.
一般来说,jQuery绑定到$和jQuery,所以单独使用jQuery并不能保证你的安全.
如果你担心冲突,jQuery会公开$ .noConflit(); http://api.jquery.com/jQuery.noConflict/
放弃对$的控制,你可以将jQuery存储在你选择的变量中(或使用jQuery).
以下是基于Wikipedia页面使用$ sign的库和此stackoverflow答案:
扫描此页面时,唯一想到的是:
- jQuery - 提供jQuery.noConflict()来释放$
- 原型
- MooTools的
然而,jQuery以大约90%的市场份额杀死它.
您可以使用销售调用函数包装代码并使用您想要的名称
(function (JQUERY, otherLIB) {
// ...
}(jQuery, $))
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您使用.ready()函数(或快捷方式版本)来包装代码,那么已经内置了功能,可以让您安全地访问 jQuery 库。这是通过在您提供的回调中定义函数参数来实现的。
jQuery(document).ready(function($) {
/* in here, $ is safe */
});
jQuery(function($) {
/* in here, $ is safe */
});
Run Code Online (Sandbox Code Playgroud)
由于 jQuery 将自身作为回调的第一个参数传递,因此您可以给它任何您想要的名称,包括$. 因为它形成一个局部参数,所以它不会受到全局空间中的相同名称的影响,也不会影响该名称。
这样就不需要.noConflict()手动 IIFE 方法。您需要的一切都已经为您准备好了。