首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么它会抛出b的引用错误?

为什么它会抛出b的引用错误?
EN

Stack Overflow用户
提问于 2020-07-28 13:46:12
回答 1查看 59关注 0票数 0

最近,我参加了一个前端开发的面试,面试官提出了一个问题,让我怀疑我对javascript的信心。问题是

代码语言:javascript
复制
   function some() {
       console.log(a) // undefined
       console.log(b) // Reference Error: cannot access b before initialization.
       var a = 10;
       let b = 15
   }

我知道吊装是在这里发生的,但我不知道为什么b抛出引用错误。有人能解释一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-28 13:50:30

与使用var声明的变量不同,变量将以未定义的值开始,在计算变量定义之前,不初始化这些变量。在初始化之前访问变量将导致ReferenceError。从块开始到初始化处理,该变量处于“时间死区”中。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63135616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档