关于编译有个疑问
Closed this issue · 1 comments
wodertian commented
生成代码那一段,原文如下
var a;此时,JavaScript引擎会询问当前作用域中是否已经申明了a变量,如果没有则询问当前作用域的上级(此过程与我在JavaScript之闭包一文中类似)。如果在此过程中找到了a已经申明,那么编译器会忽略此次申明;如果最终都没有找到a的身影,那么编译器会在当前作用域中申明一个a变量。
我的疑问
如果当前作用域没有声明a变量,不应该直接在当前作用域声明吗,为什么还要询问当前作用域的上级。如果作用域的上级有声明a,这时候又会执行什么操作
swfbarhr commented
@TylerPeng 已改正,多谢issue(误人子弟了)。