jsjs icon indicating copy to clipboard operation
jsjs copied to clipboard

没有预解析阶段,导致变量不能提升

Open axetroy opened this issue 7 years ago • 1 comments

hm....

在实现async await的时候遇到的

变量提升到底是不是个好东西

const obj = {
  called: false
};

func();

function func() {
  obj.called = true;
}

module.exports = obj;

上面的代码是不能解释运行的..

因为解析到func()的时候,还没有func这个变量

axetroy avatar Mar 05 '18 17:03 axetroy

我的解决思路是:

在进入新的作用域时,遍历同级节点,把有变量提升作用的节点先处理了

比如var,function。

先定义好变量,再解析

实现中...

axetroy avatar Mar 05 '18 17:03 axetroy