Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分解jquery代码_Javascript_Jquery_Client Side - Fatal编程技术网

Javascript 分解jquery代码

Javascript 分解jquery代码,javascript,jquery,client-side,Javascript,Jquery,Client Side,可能重复: 我正在查看jQuery源代码,但有几行代码我没有得到 // Map over jQuery in case of overwrite _jQuery = window.jQuery, // Map over the $ in case of overwrite _$ = window.$, 我的问题是上面的代码在做什么?它是如何工作的?我想象它负责jQuery和$objects,但我无法对它进行概括。在jQuery函数的上下文中用于: 1) 防止客户端代码覆盖jQuery和$函

可能重复:

我正在查看jQuery源代码,但有几行代码我没有得到

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

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

我的问题是上面的代码在做什么?它是如何工作的?我想象它负责jQuery和$objects,但我无法对它进行概括。

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

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


2) 将
jQuery
$
函数别名为。

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

如果查看函数的源代码,您将看到这一点

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

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

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