模块的定义和模块之间的相互调用

    // 现代模块机制

    var myModules = (function Manager() {
      var modules = {};
      function define(name, deps, impl) {
        //for循环作用是将模块管理器内的相关模块调出来,
          // 在管理器的作用域中展现,然后被impl调用,

        for (let i = 0; i < deps.length; i++) {
          deps[i] = modules[deps[i]];
        }
        //新的模块放进模块管理器内,同时利用apply方法调用模块的自身,将上下文执行环境绑定到模块
        //本身,同时将需要调用的模块,模块名作为参数传入模块。
        // deps作为参数,传进新模块impl,使其能够调用模块管理器内的其他模块
        modules[name] = impl.apply(impl,deps);
      }

      function get (name) {
        return modules[name];
      }

      return {
        define: define,
        get:get
      }
    }())

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值