暂存死区是把原来的声明也干掉了对吗?

暂存死区是把原来的声明也干掉了对吗?

控制台,monkey未定义,因为在块级作用域暂存死区,说明第一个声明的monkey最后打不出来,是它已经被干掉了?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

不是很理解同学想问的是什么,建议详细描述一下,这里老师先给你解释一下什么是暂存死区

使用var的时候,作用域内(函数作用域),在还没使用var声明一个变量的时候,访问该变量,将会获得undefined。但是如果使用let,作用域(块级作用域)内,在还没使用let声明一个变量的时候,访问该变量,将会获得ReferenceError,从作用域开始到let语句之间,就是暂存死区。

祝学习愉快!

  • 沧海的雨季 提问者 #1
    那最后一个控制台也没打印了啊,作用域也影响外面吗?
    2019-01-01 14:50:20
  • 卡布琦诺 回复 提问者 沧海的雨季 #2
    首先,作用域不影响外面。这里最后一条语句不执行,是因为在{ console.log(monkey); let monkey = "我觉得我还能再抢救一下!"; }这一步报错了,所以才不会向下继续执行的。
    2019-01-02 11:41:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师