预编译过程
ao 1形参声明赋值 2变量声明 3函数声明
go1变量声明 2函数声明
题目分析
a = 1;function test(e) {function e() {}console.log(e); // funcarguments[0] = 2;console.log(e); // 2// 此时变量a的值为undefined,不执行if语句内容if (a) {var b = 3;}var c;a = 4;var a;console.log(b); // undefined// 暗示全局变量f = 5;console.log(c); // undefinedconsole.log(a); // 4}var a;test(1);console.log(a); // 1console.log(f); // 5
undo
go={a:u,test:func}
ao={e:u->func,b:u,c:u,a:u}
do
go={a:u->1,test:func,f:5}
ao={e:u->func->2,b:u,c:u,a:u->4}
