Cannot access 'xxx' before initialization

因为在变量未初始化的情况下就访问变量

在使用let以及const声明变量不会提升,所以就会抛错,而使用var声明的变量,会声明提升,所以会打印出undefined

function test() {
    console.log(b);     // undefined
    console.log(a);     // 报错(Cannot access 'a' before initialization)
    let a = 'a';
    var b = 'b';
}
test() 

 

posted @ 2020-05-06 13:48  莫欺少年穷呐  阅读(27538)  评论(0编辑  收藏  举报