执行下面代码

let myname= 'kaimo666'
{console.log(myname) let myname= 'kaimo777'
}

最终打印结果

分析原因

在块作用域内,let声明的变量被提升,但变量只是创建被提升,初始化并没有被提升,在初始化之前使用变量,就会形成一个暂时性死区。

另外一个例子:

function test(){console.log(a)let a = 7;
}
test()

执行test的时候,编译阶段a已经在内存中,为什么提前访问不了?

这主要是因为V8虚拟机做了限制,虽然a在内存中,但是当你在let a 之前访问a时,根据ECMAScript定义,虚拟机会阻止的访问!

拓展

  • var的创建和初始化被提升,赋值不会被提升。
  • let的创建被提升,初始化和赋值不会被提升。
  • function的创建、初始化和赋值均会被提升。

ReferenceError: Cannot access ‘xxx‘ before initialization相关推荐

  1. ReferenceError Cannot access ‘xxx‘ before initialization

    执行下面代码 let myname= 'kaimo666' {console.log(myname) let myname= 'kaimo777' } 最终打印结果 分析原因 在块作用域内,let声明 ...

  2. function()默认参数中ReferenceError Cannot access ‘a‘ before initialization的解决方法

    function()默认参数中ReferenceError: Cannot access 'a' before initialization的解决方法 代码 <!DOCTYPE html> ...

  3. Uncaught ReferenceError: Cannot access ‘f1‘ before initialization

    Uncaught ReferenceError: Cannot access 'f1' before initialization 翻译:未捕获的引用错误:初始化前无法访问"f1" ...

  4. Cannot access ‘phone‘ before initialization

    文章目录 [Vue warn]: Error in v-on handler (Promise/async): "ReferenceError: Cannot access 'phone' ...

  5. Cannot access 'age' before initialization错误

    Cannot access 'age' before initialization 无法在初始化之前访问"age" function aa(){console.log(name); ...

  6. IDEA误报:“cannot access XXX“的解决方案

    现象 IDEA的Java项目突然报错提示 "cannot access XXX" 但是 项目可正常编译并运行 . 百度后,发现是IDEA本身的BUG . 解决方案: 方案一 网友建 ...

  7. Cannot access ‘grandChild‘ before initialization

    声明变量的原因: 如 const 和 let 都不会进行变量提升,如果用这两个声明了之后,在必须要卸载调用之前,否则会报错 例子: console.log(a); const a = 'a'; // ...

  8. 解决unable to access ‘xxx.git/‘: OpenSSL SSL_

    错误详情: unable to access 'https://github.com/xxx.git/': OpenSSL SSL_read: Connection was aborted, errn ...

  9. fatal: unable to access ‘xxx‘: schannel: failed to receive handshake, SSL/TLS connection f...

    找到.gitconfig文件 一般位于 C:/Users/xxx/ 目录下 修改或添加如下: [http]sslbackend = openssl

最新文章

  1. thinkphp mysql权限管理_TP thinkphp 权限管理 权限认证 功能
  2. ASP.NET Core MVC中的 [Required]与[BindRequired]
  3. excel 26进制 php,记录一次华为招聘的编程题-excel中的26进制
  4. 浅析laravel门面原理与实现
  5. 由项目浅谈JS中MVVM模式
  6. MFC 教程【10_内存分配方式和调试机制 】
  7. 联通3G用户破千万 建成全球规模最大WCDMA网络
  8. 计算机表格功能怎么用,Excel表格开发工具中的查看代码功能怎么使用
  9. 上位机和下位机的概念
  10. 卢松松大鱼号收入859元
  11. Unity ProjectTiny用纯ECS写个跃动的小球
  12. 关于高维空间的一些思考
  13. 互联网日报 | 贾跃亭乐视网股票流拍;东航组建“三亚国际航空”;苹果线上WWDC大会22日举办...
  14. 黑苹果Big Sur触摸屏驱动教程
  15. picoCTF,Reverse Engineering,逆向类,42/55
  16. 100道经典Hadoop常见面试/笔试题及答案解析
  17. 八戒致高翠兰的一封情书
  18. 有赞VS光云科技,电商SaaS的未来殊途同归
  19. 三星苹果鏖战:苹果未衰败 研发能力决胜千里
  20. 如何使用微图将影像和矢量一起导出成CAD格式的数据

热门文章

  1. 关于(nID 0xFFF0) == IDM_ABOUTBOX的思考
  2. mysql获取18位和15位身份证号中的出生日期、年龄
  3. 你越努力,运气就会越好!
  4. Ioc的来由与Ioc基本概念及Ioc使用实现
  5. docker部署java服务
  6. 蛋白质试剂BHQ-3-CFn,bhq-1-SH-h DNA,BHQ-2,暗猝灭剂标记蛋白
  7. 中国互联网用户自主意识的觉醒
  8. 艾司博讯:拼多多修改价格对权重的影响
  9. 关于修改host的一点整理
  10. 手机怎么修改照片kb大小?一分钟解决