cheng_shufu
2017-01-19 10:29
感觉有些问题,拿出来讨论一下。
1:
Var _jQuery = window.jQuery,
_$ = window.$;
这两句代码是一个即时执行函数中运行的,在这个地方还没有将jQuery挂载到window上,$也是一样,所以_jQuery和_$的值应该是undefined。
2:在jQuery.noConflict中,由于整个即时执行函数已经执行完成,jQuery和$已经是window的属性,所以可以拿来判断,而同时由于noConflict是闭包,所以可以访问_jQuery和_$。所以,运行jQuery.noConflict ()方法时,如果window上的$属性指向jQuery的话,则把window.$赋值为_$,其实就是赋值为undefined.放弃jQuery的做法也是一样的。
以上是我的理解,不知道对不对,可以讨论下。
是这么理解的,不过noConflict不能叫闭包吧? 只是一直保留着_$ & _jQuery的引用, 不管_$是undefined还是上个框架的$
jQuery源码解析(架构与依赖模块)
84047 学习 · 280 问题
相似问题
回答 2