JavaScript中的全局对象介绍
JavaScript中的全局对象概览
在JavaScript程序启动时,解释器会初始化一个全局对象以供程序使用。这个由JavaScript自身提供的全局对象拥有众多属性和方法。
一、全局对象的属性
全局对象拥有一些常用的属性值,例如undefined、Infinity以及NaN。它还拥有一些常用的属性对象,如Math、JSON和Number。
二、全局对象的方法
全局对象还提供了一些全局函数供调用,比如isNaN()、isFinite()、parseInt()和eval()等。
三、全局构造器
全局对象还提供了全局构造器,也就是全局类,如Date()、RegExp()、String()、Object()和Array()等。
对于运行在浏览器端的JavaScript程序,还有一个特殊的全局对象——window。window全局对象提供了许多与当前窗口、页面有关的属性与方法。它封装了JS全局对象,并向外暴露JS全局对象的属性与接口。在浏览器端进行JavaScript编程时,我们主要关心window全局对象即可。
在JavaScript程序中,this的指向如果不属于任何function,那么它就指代JS全局对象。如果是浏览器端运行的JS程序,那么这个this就指代window全局对象。
当this属于某个function时,this指代的是调用该function的对象。如果function只是一个普通函数,而非某个类的方法,那么this的指向有两种可能:
1. 在ECMAScript 3标准以及ECMAScript 5标准的非严格模式下,this指向全局对象。
2. 在ECMAScript 5标准的严格模式下,this指向undefined。
基于这一特性,我们可以通过以下代码来判断当前是否处于严格模式:
```javascript
var strict = (function(){return !this;}());
```
在JavaScript程序中创建的全局变量,会成为全局对象中的一个属性。
实验部分:
```javascript
var a = this;
console.log(a); // 输出window object(在浏览器环境下)
console.log(a.outerWidth); // 访问window对象的属性
console.log(a.isNaN); // 访问JavaScript全局对象的属性
x = "test";
console.log(a.x); // 访问新创建的全局变量的值
```
JavaScript的全局对象是一个重要的概念,对于理解JavaScript的运行机制以及编写高效的代码具有重要意义。无论是在Node.js环境还是在浏览器环境,都需要深入理解并善用全局对象。
编程语言
- JavaScript中的全局对象介绍
- vue中实现Monaco Editor自定义提示功能
- Vue仿微信app页面跳转动画效果
- 微信小程序(十四)button组件详细介绍
- php自定义函数转换html标签示例
- PHP学习笔记(一) 简单了解PHP
- 关于 尝试读取或写入受保护的内存。这通常指示
- AJAX简单应用实例-弹出层
- js停止冒泡和阻止浏览器默认行为的简单方法
- 解释执行和编译执行的区别?
- jquery获取点击控件的绝对位置简单实例
- Vue组件中slot的用法
- PHP的PDO大对象(LOBs)
- javaScript手机号码校验工具类PhoneUtils详解
- 如何在vue里添加好看的lottie动画
- Vue实现active点击切换方法