简述JavaScript全局对象
2024-10-19 21:35:41
全局对象是JavaScript中非常重要的一类对象,它作为程序顶层(程序最顶端,不包括在任何函数之内)的上下文存在,JavaScript中的全局属性、全局函数都是通过全局对象来提供给程序的,比如
全局属性 如:undefined,Infinity,NaN
全局函数 如:isNaN(),parseInt(),eval()
构造函数 如:Date(),RegExp(),String(),Object(),Array()
全局对象 如:Math、JSON
当一段JavaScript程序开始执行的时候,JavaScript解释器便会创建一个新的全局对象,将那些初始属性定义给它,这些预定义属性也都是可枚举的。 全局对象仅仅是一个对象,而不是类,不拥有构造函数,故我们不能实例化一个新的全局对象。
我们在程序中所定义的全局变量也会以全局对象属性的形式存在,全局对象就是全局作用域的“声明上下文对象“:
var a = 1;
console.log(this.a); // 1
不使用var关键字的全局变量也是同样:
function test(){
a = 1;
};
test();
console.log(window.a); // 1
这段代码里还有个点:全局对象window内有个属性window指向它自身,于是我们可以使用window属性代替this来引用全局对象。
在代码的最顶级可以直接用关键字this来引用全局对象:
再比如NodeJs中:
全局对象的预定义属性是可枚举的,我们可以使用for in循环来查看它们
for(var attr in this){
console.log(attr + ':' + this[attr] + '\n');
}
最新文章
- iOS CoreData primitive accessor
- CenOS 7 安装wordpress
- 设计前沿:25个设计师向您展示 iOS 7 界面
- Vim tips
- Native App执行JS
- [原创]VS2013 EF6连接MySql需要几步?
- Mvc Model 模板的获取【学习笔记】
- String功能测试
- C++默认构造函数的一点说明
- Linux 命令——tee 重定向到文件并打印到屏幕
- TSP(Traveling Salesman Problem)-----浅谈旅行商问题(动态规划,回溯实现)
- .net core2.x 自动注入 Entity(实体对象到上下文)
- Linux命令、脚本
- Oracle12c 从入门到精通(第二版) 闫红岩 金松河 编著
- 详细解读html中的Map,area标签
- Flutter 相机定制
- android contentprovider内容提供者
- Linux(CentOS7)安装zip、unzip命令
- redis集群报Jedis does not support password protected Redis Cluster configurations异常解决办法
- [Linux]基本I/O重定向