我们正在从MooTools切换到jQuery。我有一个同事告诉我,$在使用jQuery方法时(如果我对他的理解正确的话)请不要将其用作前缀。他说,取而代之的是使用更合适或更安全的方法(我没有真正跟随他)jQuery.。
因此,例如$.plugin(),jQuery.plugin()应使用代替。
为什么会这样呢?他与$/有什么区别jQuery?我应该忘记美元符号作为访问者吗?仅在某些情况下?
我们正在从MooTools切换到jQuery。我有一个同事告诉我,$在使用jQuery方法时(如果我对他的理解正确的话)请不要将其用作前缀。他说,取而代之的是使用更合适或更安全的方法(我没有真正跟随他)jQuery.。
因此,例如$.plugin(),jQuery.plugin()应使用代替。
为什么会这样呢?他与$/有什么区别jQuery?我应该忘记美元符号作为访问者吗?仅在某些情况下?
Answers:
为什么会这样呢?他的$ / jQuery区分正确吗?
因为几乎每个JavaScript库都定义了一个名为$的函数。当一个文档中有多个库时,可能会出现冲突。如果您确定jQuery并将始终是定义该函数的唯一脚本,那么我不会反对使用$。
jQuery定义了一个解决冲突的好方法:jQuery.noConflict。通过使用此函数,您可以定义自己的名称,从而可以访问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()
noConflict因为范围已明确定义。
这是为了避免与其他使用相同$的库(例如Prototype)发生冲突。
我更喜欢$,如果只使用Jquery,使用它也没有问题。