Javascript 有人能解释jQuery库的第一行代码吗?
我知道IIFE,但我不理解jQuery库的前50行代码。有人能解释一下背后的逻辑吗Javascript 有人能解释jQuery库的第一行代码吗?,javascript,jquery,Javascript,Jquery,我知道IIFE,但我不理解jQuery库的前50行代码。有人能解释一下背后的逻辑吗 (功能(全局,工厂){ “严格使用”; if(模块的类型===“对象”&&typeof module.exports===“对象”){ //适用于CommonJS和类似CommonJS的环境,其中` //存在时,执行工厂并获取jQuery。 //对于没有带“文档”的“窗口”的环境` //(如Node.js),将工厂公开为module.exports。 //这突出了创建真正“窗口”的必要性。 //例如,var j
(功能(全局,工厂){
“严格使用”;
if(模块的类型===“对象”&&typeof module.exports===“对象”){
//适用于CommonJS和类似CommonJS的环境,其中`
//存在时,执行工厂并获取jQuery。
//对于没有带“文档”的“窗口”的环境`
//(如Node.js),将工厂公开为module.exports。
//这突出了创建真正“窗口”的必要性。
//例如,var jQuery=require(“jQuery”)(窗口);
//有关更多信息,请参见门票14549。
module.exports=global.document?
工厂(全局,真实):
功能(w){
如果(!w.document){
抛出新错误(“jQuery需要一个包含文档的窗口”);
}
返回工厂(w);
};
}否则{
工厂(全球);
}
//如果尚未定义窗口,则传递此消息
})(窗口类型!==“未定义”?窗口:此,函数(窗口,noGlobal){
现在days JS库既可以在浏览器中使用,也可以在Nodejs环境中使用。由于这些环境之间存在重大差异,JQuery试图使其与所有环境兼容。其余的,我认为在代码本身的注释中提到,现在days JS库既可以在浏览器中使用,也可以在Nodejs环境中使用由于这些环境之间存在重大差异,JQuery试图使其与所有环境兼容。我认为代码本身的注释中提到了Rest,它是一个具有2个参数的IIFE。它的用途包含在注释中。它是一个具有2个参数的IIFE。它的用途包含在注释中。该变量在哪里module
来自?module
内置于NodeJS和Webpack使用的JS模块中。该变量module
来自何处?module
内置于NodeJS和Webpack使用的JS模块中。