JavaScript全局对象详解:从Window到Math

发布时间:2023-05-18

在JavaScript中,全局对象是程序的核心,并且是所有对象的顶层对象。全局对象包含了一些预定的属性和方法,例如:Infinity、NaN、undefined,还有一些基础的方法,例如:decodeURI、eval、parseInt等。本文将从多个方面对JavaScript全局对象进行详细的阐述。

一、Window对象

Window对象表示浏览器的窗口,并且是JavaScript中最顶层的对象。当我们使用全局对象或者函数时,实际上是在访问Window对象的属性或方法。 以下为Window对象的常见属性:

window.innerHeight    // 窗口的内部高度(不包含工具栏和滚动条)
window.innerWidth     // 窗口的内部宽度(不包含工具栏和滚动条)
window.outerHeight    // 窗口的外部高度(包含工具栏和滚动条)
window.outerWidth     // 窗口的外部宽度(包含工具栏和滚动条)
window.location       // 返回当前窗口的URL

以下为Window对象的常见方法:

window.alert()         // 弹出一个警告框
window.prompt()        // 弹出一个输入框
window.confirm()       // 弹出一个确认框
window.setTimeout()    // 在指定时间后执行一次函数
window.setInterval()   // 每隔指定时间重复执行一次函数

二、Math对象

Math对象是一个数学常量和函数的集合,它不是一个构造函数,所以无法实例化。Math对象是兼容所有JavaScript实现的标准对象之一。 以下为Math对象的常见常量和方法:

Math.E                // 自然常数(约等于2.718)
Math.PI               // 圆周率(约等于3.14159)
Math.abs(x)           // 返回x的绝对值
Math.ceil(x)          // 返回大于或等于x的最小整数
Math.floor(x)         // 返回小于或等于x的最大整数
Math.max(x, y, z, ...) // 返回最大值
Math.min(x, y, z, ...) // 返回最小值
Math.sqrt(x)          // 返回x的平方根
Math.round(x)         // 返回x的四舍五入值

三、Date对象

Date对象是JavaScript处理日期和时间的标准方法。它通过维护自从标准基准时间(1970年1月1日 00:00:00 UTC)以来的毫秒数来工作。Date对象有很多方法以便获取、设置和格式化日期和时间。 以下为Date对象的常见方法:

var date = new Date()     // 创建当前日期对象
date.getFullYear()        // 返回四位数的年份
date.getMonth()           // 返回月份(0-11)
date.getDate()            // 返回一个月中的某一天(1-31)
date.getDay()             // 返回星期几(0-6)
date.getHours()           // 返回小时(0-23)
date.getMinutes()         // 返回分钟(0-59)
date.getSeconds()         // 返回秒数(0-59)
date.getMilliseconds()    // 返回毫秒数(0-999)
date.getTime()            // 返回标准基准时间以来的毫秒数

四、JSON对象

JSON对象是 JavaScript原生的一种数据格式,用来交换数据。JSON对象提供了parse()和stringify()方法,分别用来把JSON格式的字符串解析成JavaScript对象,以及把JavaScript对象序列化为JSON格式的字符串。 以下为JSON对象的常见方法:

JSON.parse(text)          // 将JSON格式的字符串转换成一个JavaScript对象
JSON.stringify(value)     // 将一个JavaScript对象转换成一个JSON格式的字符串

五、Global对象

在浏览器环境中,Global对象实际上就是Window对象。但是,在Node.js环境中,Global对象是一个真正的全局对象,并且与每个模块都有关联。Global对象在Node.js中是一个非常有用的对象,在全局范围内创建的变量和函数都是Global对象的属性。 以下为Global对象的常见方法:

console.log()          // 向控制台输出一条信息
setImmediate()         // 在事件循环队列的下一轮中立即执行回调函数
clearImmediate()       // 取消通过setImmediate()方法注册的回调函数
process.chdir(directory)    // 改变当前工作目录
process.exit()         // 终止当前进程

本文主要介绍了JavaScript全局对象,从Window到Math,再到Date、JSON和Global对象。大家在JavaScript编程时,可以根据具体需求来选择使用哪些全局对象以及对应的属性和方法。