js变量提升

62 阅读1分钟

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');
>}