全局对象和函数您知道多少?
根据JavaScript的运行环境,在JS中存在两种全局对象:JS全局对象和window全局对象。
1. 第一种是在JS语言核心中,即没有web浏览器宿主环境的条件下,在这种环境中,对于任何JS程序,在程序开始之前,JS解释器都会初始化一个全局对象供程序使用,这个全局对象占且称为“JS全局对象”。通过使用“JS全局对象”可以访问所有预定义的全局属性,全局普通函数,全局构造函数和全局对象(这些预定义的全局XX都是“JavaScript 全局对象”的属性)。而“JS全局对象”不是任何对象的属性,所以它没有名称,可以在全局作用域内使用this关键字引用“JS全局对象”。
- “JS全局对象”拥有一些全局属性:比如undefined, Infinity和NaN。
- “JS全局对象”拥有一些全局普通函数:比如isNaN(), parseInt()和eval()。
- “JS全局对象”拥有一些全局对象:比如Math和JSON。
- “JS全局对象”拥有一些全局构造函数:比如Object(), Array(), Date(), RegExp()和String()。
- 更多的关于html,css,javascript内容可参考web前端开发
“JS全局对象”的这些属性的特性:可写性(Writable):true, 可枚举性(Enumerable): false, 可配置性(Configurable): true.
顶层函数(全局函数)
| 函数 | 描述 |
|---|---|
| decodeURI() | 解码某个编码的 URI。 |
| decodeURIComponent() | 解码一个编码的 URI 组件。 |
| encodeURI() | 把字符串编码为 URI。 |
| encodeURIComponent() | 把字符串编码为 URI 组件。 |
| escape() | 对字符串进行编码。 |
| eval() | 计算 JavaScript 字符串,并把它作为脚本代码来执行。 |
| getClass() | 返回一个 JavaObject 的 JavaClass。 |
| isFinite() | 检查某个值是否为有穷大的数。 |
| isNaN() | 检查某个值是否是数字。 |
| Number() | 把对象的值转换为数字。 |
| parseFloat() | 解析一个字符串并返回一个浮点数。 |
| parseInt() | 解析一个字符串并返回一个整数。 |
| String() | 把对象的值转换为字符串。 |
| unescape() | 对由 escape() 编码的字符串进行解码。 |
顶层属性(全局属性)
| 方法 | 描述 |
|---|---|
| Infinity | 代表正的无穷大的数值。 |
| java | 代表 java.* 包层级的一个 JavaPackage。 |
| NaN | 指示某个值是不是数字值。 |
| Packages | 根 JavaPackage 对象。 |
| undefined | 指示未定义的值。 |
浙公网安备 33010602011771号