2013-01-11 98 views
0

可能重复:
How does jQuery protect overwriting jQuery and $打破jQuery代码

我找了jQuery的源代码,并有几行代码,我不明白。

// Map over jQuery in case of overwrite 
_jQuery = window.jQuery, 

// Map over the $ in case of overwrite 
_$ = window.$, 

我的问题是上面的代码是干什么的?它是如何工作的?我认为它是负责jQuery和$对象,但我无法围绕它的头。

回答

0

即在jQuery函数到的上下文中使用:

1)从重写的jQuery$功能的功能防止客户端代码。

2)别名jQuery$功能为increase speed

0

许多使用javascript的库使用$。它正在重置$,以便其他库如 Prototype可以使用$而不会导致冲突错误。如果没有完成,代码无法工作,并可能导致错误。

1

如果你看一下noConflict功能的源代码,你会看到这个

if (window.$ === jQuery) { 
    window.$ = _$; 
} 
if (deep && window.jQuery === jQuery) { 
    window.jQuery = _jQuery; 
} 

当jQuery的负载,它覆盖全球$jQuerynoConflict将这些全局变量从备份返回到其以前的值。这些备份是使用您提到的代码创建的。

+0

Doh。这是一个重复的问题。 – Dikei