变量提升和函数提升
变量提升 和 函数提升只有使用var声明的变量才会变量提升,let和const声明的变量不存在。函数提升优先级高于变量提升1234567foo();function foo(){ console.log('1');}var foo=function(){ console.log('2');}
实际上会变成
12345678function foo(){ console.log('1');}var foo;foo(); // 1foo=function(){ console.log('2');}
...