$vs jQuery

我们正在工作中从 MooTools 切换到 jQuery。我的一个同事告诉我在使用 jQuery 方法时不要使用 $作为前缀(如果我理解正确的话)。他说,相反,更合适或更安全的方法(我没有真正跟随他)是使用 jQuery.

因此,例如,应该使用 jQuery.plugin()而不是 $.plugin()

为什么会这样?他和 $/jQuery有什么区别?我应该忘记美元符号作为我的访问器吗?只在特定情况下?

42250 次浏览

为什么会这样呢? 他的 $/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是一个比 $更具描述性的变量名。