分解jquery代码

时间:2013-01-11 04:45:24

标签: javascript jquery client-side

  

可能重复:
  How does jQuery protect overwriting jQuery and $

我正在查看jQuery源代码,并且有几行代码是我无法获得的。

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

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

我的问题是上面的代码是做什么的?它是如何工作的?我想它负责jQuery和$对象,但我无法绕过它。

3 个答案:

答案 0 :(得分:1)

如果你查看noConflict函数的源代码,你会看到这个

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

加载Jquery时,它会覆盖全局$jQuerynoConflict将这些全局变量从备份返回到以前的值。这些备份是使用您提到的代码创建的。

答案 1 :(得分:0)

在jQuery函数的上下文中用于:

1)防止客户端代码覆盖jQuery$函数的功能。

2)将jQuery$函数别名为increase speed

答案 2 :(得分:0)

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