变量提升 又叫变量声明 提升到 当前所在作用域 最前面
如:
var a = 5;
function fn(){
a; // undefined
var a = 6;
a; // 6
}
fn();
为何 函数 内 第一个 a = undefined
我们可以借用变量提升的规则转写为
function fn(){
var a = undefined;
a; // undefined
a = 6;
a; // 6
}
这样是否就十分清晰 js 会将 函数或变量声明 默认提升到当前作用域最前面,而以上例子当前的作用域为函数fn