• 暴力分析backbone.js(3)


    继续上一节内容,上一节发现backbone.js有很多依赖库,还分了3条路,我选择了最基础的装备jQuery 和 undercore,走最后一条。带着疑问和简单的Dome来分析backbone.js。

      从最后一条路开始讲解,来看一下代码

    1 root.Backbone = factory(root, {}, root._, (root.jQuery || root.Zepto || root.ender || root.$));

      仔细看一段,root.Backbone = factory(.....),不是把factory  这个函数赋给 root.Backbone,函数加上括号才是执行,所以把一个执行函数赋值给变量,结果执行的函数有返回值即变量被赋予了执行的函数的返回值,不然呢?(上图片看真相)

      没返回值的函数,执行后赋值给变量有返回值的函数,执行后赋值给变量 

      所以,factory这个函数必定是返回了东西。拖到最后面看看是不是有return 呢!

      

      

      好,开始跑factory()这个函数,来对照一下 形参 和 实参 和 它们的一个关系。

    factory(root, {}, root._, (root.jQuery || root.Zepto || root.ender || root.$));
    
    function(root, Backbone, _, $){}

      在一开始自执行的时候把 function(root,Backbone,_,$){} 传递给 factory 的时候,它们的关系是: 前者 实参 后者 形参。

      在执行factory函数的时候,factory传参的内容为实参,而 function(root,Backbone,_,$){}的参数为型参。

      看一下实际传递到的是什么?

      function(
        root === window,

        Backbone === {},

        _ === root._ === window._ === Underscore.js

        $ === (root.jQuery || root.Zepto || root.ender || root.$) === 我们引入 前面3个库其中1一个,或者是有$的库,优先级是jQuery最高

      )

      

      好,休息一下。

  • 相关阅读:
    MySql概念(二)
    MySql数据库概念
    python并发编程之多进程
    python之进程与线程
    python之udp协议的套接字
    python之socket编程
    python之异常处理
    python之面向对象的高级进阶
    react中使用orgchart组织结构插件
    【react从入门到放弃】ant design pro + dva [第一篇]
  • 原文地址:https://www.cnblogs.com/superjs/p/4476709.html
Copyright © 2020-2023  润新知