关于“并且在导入另一个导致冲突的库之前使用” 的一点疑问

来源:1-8 jQuery多库共存处理

hnull

2014-12-24 15:14

aron 好

“这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库之前使用。” 以上课件的高亮句子, 这句话是不是有点不准确,

这边前半句话, 这个函数必须在你导入jQuery文件之后, 这个可以理解,导入jQuery后,才能使用$.noConflict().


我这边疑问是后半句话,“并且在导入另一个导致冲突的库之前使用”,这边应该可以在导入另一个导致冲突的库之后使用吧。

比如

<script type="text/javascript" src="other.js"></script>

<script type="text/javascript" src="jquery-2.0.3.js"></script>

<script type="text/javascript">

   $.noConflict()

</script>

假设上面的other.js 也是使用的$,比jQ先导入,但是 $.noConflict() 这个执行后,不是可以把之前保存好的_$ 赋值给window.$ 吗?


这边是不是把“并且在导入另一个导致冲突的库之前使用。”改为 “并且在使用($('xxx'))另一个导致冲突的库之前使用”


写回答 关注

2回答

  • 艾伦Aaron
    2014-12-24 15:27:43
    已采纳

    我们先看看$.noConflict()方法

    在加载jquery的时候做了一个动作 _$ = window.$;  保存了当前的$的引用为_$, 因为此时可能上一个script脚本可能存在$的命名空间。所以在当前加载的时候就保存起来了


    我们调用的时候就干了一件事

    把当前的jquery的命名空间$ 替换成_$,达到了交换的目的,可能话没有表述清楚




    hnull

    非常感谢!

    2014-12-24 15:45:29

    共 1 条回复 >

  • hnull
    2014-12-24 15:36:56

    恩 这个交换的过程明白。

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

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

84047 学习 · 280 问题

查看课程

相似问题