应该是预解析(js)

代码在执行前会有一个预解析过程(暂时这样理解),

这个阶段, 只对 函数形参, var定义的变量, function进行一个解析的准备过程。这个[预解析]过程中,会有一个预解析的先后顺序,即 函数的形参 -> function -> var。而且重名时预留函数、后者会覆盖前者。

预解析结果形参如果有值则解析到值, 没有则为undefined; 函数则解析到整个函数;变量都为undefined;
如果是
function {
  a = 2; //这里没有预解析这一步
}

ex: 【一】

 函数有参数存在,在函数调用时,对【局部】函数作用域的解析过程中解析到了参数 a = undefined;

ex:【二】

 

这里还涉及执行上下文。。
再接下去是【逐行读代码】。 

posted @ 2017-09-22 14:53  olleh  阅读(49)  评论(0)    收藏  举报