变量提升
var会将变量声明提升;
let const 不会将变量声明提升;
console.log(a);//undefined
var a=3;
上述代码编译出来是
var a;
console.log(a);
a=3;
使用let声明变量,同样的代码表现却不一样
console.log(a);//ReferenceError:a is not defined
let a=3;
函数声明提升
foo();//hello
function foo(){
console.log('hello')
}