变量提升
定义:js引擎在js代码正式执行之前会做一些预处理工作
过程
1 找var和function关键字
2 找到var以后将var后边的变量提前声明但是不赋值var a
3 找到function以后定义该函数
变量声明提升
通过var定义(声明)的变量,在定义语句之前就可以访问到,
值:undefined
函数声明提升
通过function声明的函数,在之前就可以调用
值:函数定义(对象)
console.log(i);//undefined
fun()//出现啦
var i = 12
function fun() {
console.log("出现啦");
}