1.变量提升只会提升声明,不会提升定义的初始化值
2.函数提升的优先级高于变量提升
eg.
console.log(a);
var a = 1;
console.log(a);
function a() {console.log('hahah')}
a = 2;
console.log(a)
a();
console.log(a);
===============>
可以理解为:
function a () {console.log('hahaha)}
console.log(a); ===> function a() ...
var a = 1;
console.log(a); ===> 1
a = 2;
console.log(a) ===> 2
a(); ===> 报错 a is not a function
console.log(a)