在JavaScript中,Global 对象是一个默认存在的对象,它作为所有非局部变量和函数的容器。这意味着你在全局作用域中定义的任何变量或函数都自动成为 Global 对象的属性和方法。尽管在浏览器环境中通常指的是 window 对象(在Node.js环境中则是 global 对象),但习惯上我们说的“全局对象”是指这个概念性的、所有环境共通的基础对象。
一些常见的 Global 对象属性和方法:
-
Number, String, Boolean, Symbol, Object, Function: 这些是构造函数,用于创建特定类型的对象。
-
Math: 提供了一系列数学常量(如 Math.PI)和数学函数(如 Math.sqrt())。
-
Date: 用于处理日期和时间,如上所述。
-
RegExp: 正则表达式对象的构造函数,用于文本匹配。
-
JSON: 提供了将对象转换为字符串和将字符串解析回对象的方法,JSON.stringify() 和 JSON.parse()。
-
console: 提供了控制台日志输出方法,如 console.log(), console.error() 等。
-
setTimeout, clearTimeout: 用于设置和取消定时器,执行一次性延迟操作。
-
setInterval, clearInterval: 用于设置和取消间隔定时器,周期性执行操作。
-
decodeURI, encodeURI, decodeURIComponent, encodeURIComponent: 用于编码和解码URI和URIComponent。
-
eval: 接受一个字符串参数,并将其作为JavaScript代码执行。注意:由于安全和性能原因,应尽量避免使用 eval。
-
isFinite, isNaN: 判断一个值是否为有限数或是否为NaN(非数字)。
-
parseInt, parseFloat: 将字符串转换为整数或浮点数。
-
undefined: 表示未定义的原始值。
-
Infinity: 表示无穷大的数值。
注意事项
- 在编写代码时,应尽量减少对全局对象的污染,避免在全局作用域中创建过多的变量和函数,以免引发命名冲突和难以预料的副作用。
- 使用 use strict 模式可以帮助减少全局变量的意外创建。
理解 Global 对象及其提供的功能对于深入学习和应用JavaScript非常重要,它为开发者提供了许多基础工具和功能。