javascript引擎在进入作用域时,会对代码分两轮处理。
第一轮:初始化变量;
1.声明并初始化函数参数
2.声明局部变量,包括将匿名函数赋给一个局部变量,但并不初始化它们
3.声明并初始化函数
第二轮:执行代码;