我们正在工作中从 MooTools 切换到 jQuery。我的一个同事告诉我在使用 jQuery 方法时不要使用 $作为前缀(如果我理解正确的话)。他说,相反,更合适或更安全的方法(我没有真正跟随他)是使用 jQuery.。
$
jQuery.
因此,例如,应该使用 jQuery.plugin()而不是 $.plugin()。
jQuery.plugin()
$.plugin()
为什么会这样?他和 $/jQuery有什么区别?我应该忘记美元符号作为我的访问器吗?只在特定情况下?
jQuery
为什么会这样呢? 他的 $/jQuery 区分是正确的吗?
因为几乎每个 JavaScript 库都定义了一个名为 $的函数。当一个文档中有多个库时,可能会出现冲突。如果您确信 jQuery 是并且将永远是定义该函数的唯一脚本,那么我不会反对使用 $。
JQuery 定义了一个很好的解决冲突的解决方案: JQuery 没有冲突。通过使用这个函数,您可以定义自己的名称,从而可以访问 jQuery,例如。
var $jq = jQuery.noConflict(true);
调用此函数将导致还原初始化 jQuery 之前存在的 $和 jQuery 变量的先前值。我不记得是否有其他库尝试解决名称冲突。
如果希望始终使用 $而不是 jQuery,那么可以使用自调用函数在单独的私有作用域中运行代码,该作用域保存 $的定义。
(function($){ // your code goes here $("body").append("<p>Hello World!</p>"); })(jQuery); // or even jQuery.noConflict()
$的别名是 jquery,理论上可能是另一个包含的库或脚本中的别名,这可能导致混淆或更糟。如果只使用 jquery,使用 $应该没问题。
它是为了避免与使用相同 $的其他库(如 Prototype)发生冲突。
我更喜欢 $,如果只使用 Jquery,使用它没有问题。
除了与其他库冲突的其他解决方案之外,变量名应该始终描述变量。jQuery是一个比 $更具描述性的变量名。