2019-04-25

2019-04-25  本文已影响0人  红叶1942

编程技能

const MyModule = (function manager(){
  const module = {};

  function define(name, deps, impl){
    for (let i = 0; i < deps.length; i++) {
        deps[i] = modules[deps[i]];
    }
    modules[name] = impl.apply(impl, deps);
    function get(name) {
      return modules[name];
    }

    return {
      define,
      get
    }
  }
})()
function foo() {
  window.console.log(a);
}

function bar() {
  var a = 3;
  foo();
}

var a = 2;

bar();

// 我们知道js输出的结果是 2;
// 但是如果是动态作用域的化,那么打印的就应该是 3 了,当`foo`函数的作用域中没有定义a,就会在bar的作用域中寻找,而恰好在bar的作用域中a = 3;

工作的认知

今天实现了如下几个功能点

其他

上一篇 下一篇

猜你喜欢

热点阅读