#var ”变量提升“现象,只是声明的提升,定义或者赋值不提升
代码例子1:
// var 的情况 console.log(foo); // 输出undefined var foo = 2;
等效于
// var 的情况 var foo; console.log(foo); // 输出undefined foo = 2;
代码例子2:
console.log(a);//undefined a=3; var a;
等效于
var a; console.log(a);//undefined a=3;
var修饰的变量的声明会提前。
按照《你不知道的js》的解释如下: