正在回答
1回答
同学你好,let和const声明的变量会产生暂存性死区;作用域链是用来查询变量的,即代码查找变量时,会沿着内层作用域->外层作用域->全局作用域的顺序查找;暂存性死区和作用域链并不冲突,比如下面的例子:
执行fn时,fn会形成一个作用域(简称fn作用域),然后fn内的函数b会执行,b执行也会形成一个作用域(简称b作用域),并且b作用域嵌套在fn作用域内,在b内会打印变量a,由于b作用域内没有声明变量a,所以会沿着作用域链到fn作用域内查找,而fn作用域内使用let声明了a,因此就会将该a打印出来:
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星