每天坚持阅读一定量的的jquery代码,积少成多!加油加油!
jquery-2.2.1的9161~9194行
1 if ( typeof define === "function" && define.amd ) { // 注册一个amd模块,如果define是一个函数并define有amd方法
define( "jquery", [], function() { // 定义jquery并返回jquery对象,这里的define是amd加载器里面定义的。
return jQuery; // 要返回jQuery对象
});
}
var
// Map over jQuery in case of overwrite
_jQuery = window.jQuery, //把window.jQuery赋值为_jQuery
// Map over the $ in case of overwrite
_$ = window.$; //把window.$赋值给_$
jQuery.noConflict = function( deep ) { //给jQuery添加一个一个noConflict的匿名函数
if ( window.$ === jQuery ) { //运行这个函数将变量$的控制权让渡第一个实现的库,确保jquery不会与其他库$冲突
window.$ = _$;
}
if ( deep && window.jQuery === jQuery ) {
window.jQuery = _jQuery;
}
return jQuery;
};
// Expose jQuery and $ identifiers, even in
// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
// and CommonJS for browser emulators (#13566)
if ( typeof noGlobal === strundefined ) {
window.jQuery = window.$ = jQuery; //让window.jquery,window.$和jQuery保持一致的定义
}