声明提前

1 var foo = 1;
2 function p(){
3  // var foo;
4   console.log(foo)  //undefined
5   var foo = 2  //变量声明会提前
6  //foo =2;
7   console.log(foo)  //2
8 }
9 p()

函数声明、变量声明 都会把声明这个动作提到当前所在作用域的最前方,但是,并不会赋值

原文地址:https://www.cnblogs.com/kanchai/p/13357113.html