let 声明的变量顶层对象和全局变量的关系
顶层对象:在浏览器环境中,顶层对象就是window对象,在Node环境中顶层对象是global对象,在Es5时,顶层对象的属性和全局变量是等价的。window.a=1a//1a=2window.a//2在上面的代码中,顶层对象的属性赋值与全局变量的赋值是一样的。顶层对象的属性与全局变量挂钩,被认为是 JavaScript 语言最大的设计败笔之一。这样的设计带来了几个很大的问题,首先是没法在编译时就报出变量未声明的错误,只有运行时才能知道(因为全局变量可能是顶层对象的属性创造的,而属性的创造
原创
2020-12-25 00:14:42 ·
696 阅读 ·
0 评论