正在回答
1回答
同学你好,解答如下:
二者结构不一样:第一张图中,使用变量a的作用域内,没有使用let声明变量a;而第二张图,使用monkey的作用域内,使用let声明了变量monkey,如下:
暂存性死区是指:只要作用域内存在let、const,那么它们所声明的变量或常量就会自动绑定这个区域,不再受外部作用域影响。
第一张图中, console.log(a)这句代码所在的块级作用域内没有使用let、const声明a,所以变量a没有与当前块级作用域绑定;打印a时,会沿着作用域链往外寻找a,因此能访问上一级作用域中的a,并打印出来。
第二张图中, console.log(monkey)这句代码所在的块级作用域内,使用了let声明了变量monkey,因此该变量monkey会与当前块级作用域绑定,因此执行console.log(monkey)这句代码时,只会在当前作用域中找monkey,不会沿着作用域链往外找了。由于是先使用变量monkey,后定义monkey,所以无法正常输出monkey。
祝学习愉快!
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星