预解析
-
var 关键字
-
会把var关键字定义的变量在代码执行之前声明
-
-
声明式函数
-
会把这个函数声明提前
-
-
赋值式函数
-
var fn=function(){}
-
会按照var的规则进行解析 var的规则就是只是声明不赋值啊 将 var fn提前
-
-
var num = 100; console.log(num); //变量提升 var num; num=100; console.log(num);
-
解析案例
var a = 10; f1(); function f1() { var b = 9; console.log(a); console.log(b); var a = '123'; } 解析后的 var a; function f1() {} a = 10; f1() var b; var a; b = 9; console.log(a);//undefined console.log(b);//9 a = '123';