全局作用域中,用const和let声明的变量去哪了?

全局作用域中,用const和let声明的变量去哪了?

用const和let声明的变量,不会存在window对象中

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

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

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

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

完。

转载于:https://juejin.im/post/5c0be11b6fb9a049df23e388

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101278.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号