_jQuery和_$值的问题

来源:1-5 立即调用表达式

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的做法也是一样的。


以上是我的理解,不知道对不对,可以讨论下。


写回答 关注

1回答

  • Evoque
    2017-02-02 13:16:50

    是这么理解的,不过noConflict不能叫闭包吧? 只是一直保留着_$ & _jQuery的引用, 不管_$是undefined还是上个框架的$

jQuery源码解析(架构与依赖模块)

由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密

84049 学习 · 280 问题

查看课程

相似问题