上QQ阅读APP看书,第一时间看更新
第8章 Global与Window对象
8.1 Global对象
前面说过JS是面向对象的语言,或者说它本身就是一个大对象,就像一个大箱子里边装着很多大盒子,每个大盒子里面又装着小盒子,小盒子里面可能还装着小小盒子……
那么最顶层的箱子是什么呢?这个对象在ES标准中叫作Global对象。ES标准中规定Global对象要在进入执行环境之前就已创建,它是所有对象的根对象,其他对象都是它的属性或者属性的属性。
这里的Global是表示功能的词,不代表具体的对象名,事实上并不一定存在Global对象,但是每个具体的宿主环境都需要有一个Global对象,例如,浏览器中的window对象就是Global对象,所有其他对象都是window对象的属性或其属性的属性,例如,String、Number、Boolean、Array、RegExp等对象都是window的属性,就连Object和Function也都是window的属性对象。大家感兴趣的话可以使用下面的代码来查看window的完整属性列表。
console.log(Object.getOwnPropertyNames(window));