var 存在变量提升,被初始化为 undefined
> console.log(a);// undefined
> console.log(b);// undefined
> var a = 'string'
> var b = {name: 'zb'}
let和const 不存在变量提升
>console.log(a);// 报错
>console.log(b);// 报错
>let a = 'string'
>const b = { name: 'zb' }
函数的变量提升
1.存在变量提升,被初始化为 undefined
>console.log(a);// undefined
>var a = function a(){
> console.log('aaaa');
>}
2.存在变量提升,且被正确初始化
>console.log(a)// 输出a是个函数
>function a(){
> console.log('aaaa');
>}