let申明的全局变量是放哪里了?

看了阮一峰老师的博客上说 ES6 为了改变这一点,一方面规定,为了保持兼容性,var命令和function命令声明的全局变量,依旧是顶层对象的属性;另一方面规定,let命令、const命令、class命令声明的全局变量,不属于顶层对象的属性。也就是说,从 ES6 开始,全局变量将逐步与顶层对象的属性脱钩。 
那问题来了不属于顶层对象的属性那属于谁?

largeQ
浏览 2794回答 2
2回答

MMTTMM

为什么非要属于谁呢?如果函数里定义一个变量,这个变量属于函数吗?function foo() {    var a = 'bar';    return a; }你能通过 foo.a 访问 a 的值吗?不能。全局变量只是不再作为全局对象的属性而存在了,但是依然在全局作用域中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript