谁能解释一下这段代码的具体作用。我大体知道是解决变量冲突,namespase相关的东西(function(factory){if(typeofdefine==='function'&&define.amd){define(['jquery'],factory);}else{factory(window.jQuery||window.Zepto||window.$);};}(function($){//具体代码}
2 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
判断js文件中的$的变量名冲突,检查工厂函数jQuery是否存在,如果不存在,则$优先表示jQuery的$,其次是zepto,然后是window的全局变量这个一般会显示在封装好的插件中,因为引入插件,难免有时会有jQuery的$冲突,这个时候如果冲突了,插件中的$就替换成jQuery
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
if(typeofdefine==='function'&&define.amd){define(['jquery'],factory);}判断是否是通过AMD加载方式加载的jquery,如果是AMD,则传入插件方法作为callback,接受AMD加载的jquery对象else{factory(window.jQuery||window.Zepto||window.$);};如果没有通过AMD加载,则直接从全局依次寻找jQuery、Zepto、$,然后传入插件方法全局的这个对象
添加回答
举报
0/150
提交
取消