用const和let声明的变量,不会存在window对象中
大家都知道在全局作用域中用var声明的变量,保存在window对象中

但是用ES6的const或者let在全局作用域中声明的变量,却不在window对象中

那这个全局变量
abcd被保存在哪里呢?经过我的寻找,终于在函数的内部属性[[Scopes]]中找到了,如下图

如上图,在全局作用域中用
const声明的变量在函数noop中可以正常访问,没有问题。我用dir方法打印出函数noop的属性,最后在[[Scopes]]属性内找到了消失的全局变量abcd。