用const和let声明的变量,不会存在window对象中
大家都知道在全局作用域中用var声明的变量,保存在window对象中
但是用ES6的const或者let在全局作用域中声明的变量,却不在window对象中
那这个全局变量
abcd
被保存在哪里呢?经过我的寻找,终于在函数的内部属性[[Scopes]]
中找到了,如下图
如上图,在全局作用域中用
const
声明的变量在函数noop
中可以正常访问,没有问题。我用dir
方法打印出函数noop
的属性,最后在[[Scopes]]
属性内找到了消失的全局变量abcd
。