今天在写一个demo的时候,直接定义了一个变量age,然后在函数里面用this.age来取的时候,发现取不到,打印结果为undefined,,然后打印了一下Window,发现果然没挂载到Window这个对象里。后来查阅资料发现:
在es5中,顶层对象的属性等价于全局变量
es6中,var,function声明的全局变量,仍然属于顶级对象的属性;使用let,const,class声明的全局变量不再属于顶层对象的属性,这意味着es6开始,全局变量和顶层对象的属性开始分离,脱钩。所以我们在window对象里也就找不到let声明的age了。
let声明的变量在Window中找不到
最新推荐文章于 2021-12-11 22:33:33 发布