请问为什么全局环境中let声明的inner2在变量对象中找不到,但是outside环境中的let声明的n2能找到。
<script>
debugger;
function outside() {
debugger;
var n = 1;
let b = 2;
debugger;
}
outside('s');
var inner = 1;
let inner2 = 5;
debugger;
<script>
还有最后一个debugger时scope中的script是什么?
outside
里即使console 也会报错,var会变量提示,可以自行测试.script 是区别于Local和Global之外的,Local是当前作用域,Global是全剧作用域(window.xx能直接访问的),用let声明的不能被window.xx直接访问,所以放到script中.(好吧,其实这是我猜的,因为我找了资料,chrome tool 官方教程里面也没有说的很明白,而且他是把它分为
Scope 窗格显示在 local、closure 和 global 级别定义的属性。
这三个级别.