执行下面代码

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. 程序员:今天你读了吗?
  2. MySQLFabric概述
  3. 一文了解OOM及解决方案
  4. android 信号强度变化,Android监听WIFI网络的变化并且获得当前信号强度
  5. C# 定义了 7 种变量类别:静态变量、实例变量、数组元素、值参数、引用参数、输出参数和局部变量
  6. 【clickhouse】clickhouse 配置 安装目录
  7. 【计算机网络】局域网原理与技术(局域网概述、以太网技术、高速以太网、虚拟局域网、无线局域网)
  8. 《葵花宝典:WPF自学手册》三大网点书评集萃
  9. [算法]用Python实现十大排序算法
  10. 交叉火力dsp手机调音软件_可一键调音的车载DSP功放应用
  11. Qt QDialog简介
  12. SDK环境变量配置 adb配置
  13. 英制BSW 美制UNC 螺牙的理解
  14. CPU内部原理,一文解析
  15. 主分区损坏diskgenius_Diskgenius硬盘分区表坏了不要紧 用软件三步就能修复
  16. 【BZOJ4049】[Cerc2014] Mountainous landscape(线段树+凸包+二分)
  17. springboot 解决 NoClassDefFoundError: redis/clients/jedis/util/SafeEncoder
  18. QWidget setStyleSheet无效
  19. 苹果CEO乔布斯脑子里怎么想的
  20. 斯坦福大学计算机科学专业硕士排名,斯坦福大学计算机系统研究生排名关键的都看过来...

热门文章

  1. tiny服务器系列,温州中学TinyWebDB服务器正式启用
  2. 计算机编程ebcdic码,EBCDIC和BCD码
  3. python可视化库matplotlib_环境搭建 | Python 数据可视化库 Matplotlib 快速入门之一-阿里云开发者社区...
  4. 怎样对比计算机配置,硬件配置对比
  5. 计算机文化基础案例教程第三版答案,计算机文化基础案例教程教学课件作者第3版谭宁教学课件素材排骨做法.doc...
  6. 英语作文计算机用途80词,初3英语作文_关于介绍电脑的英语作文,初三,80词左右。急!!!...
  7. Laravel 论坛系统之消息通知功能
  8. matlab 图像白平衡算法,Matlab常用白平衡算法
  9. JS + shell 批量下载 喜马拉雅FM 的音频
  10. 一些学校的ACM网址