列举出JS的全局函数

JS 的全局函数,也就是可以直接在任何地方不通过对象调用的函数,主要分为以下几类:

值属性:

Infinity: 表示正无穷大。

NaN: 表示非数字 (Not a Number)。

undefined: 表示未定义的值。

null: 表示空值或不存在的对象。

globalThis: 访问全局对象 (在浏览器中是 window,在 Node.js 中是 global 等)。

函数属性:

与全局对象相关的函数:

eval(): 执行字符串形式的 JavaScript 代码。 谨慎使用,存在安全风险。

isFinite(): 检查一个值是否为有限数字。

isNaN(): 检查一个值是否为 NaN。

parseFloat(): 将字符串解析为浮点数。

parseInt(): 将字符串解析为整数。

decodeURI(): 解码 URI。

decodeURIComponent(): 解码 URI 组件。

encodeURI(): 编码 URI。

encodeURIComponent(): 编码 URI 组件。

构造函数:

Object(): 创建一个新的对象。

Function(): 创建一个新的函数。

Array(): 创建一个新的数组。

Number(): 创建一个 Number 对象。

String(): 创建一个 String 对象。

Boolean(): 创建一个 Boolean 对象。

Date(): 创建一个 Date 对象。

RegExp(): 创建一个正则表达式对象。

Error(): 创建一个 Error 对象。

Symbol(): 创建一个新的 Symbol。

BigInt(): 创建一个 BigInt 对象 (ES2020 新增)。

其他函数:

escape(): 对字符串进行编码 (已废弃,建议使用 encodeURI() 或 encodeURIComponent() )。

unescape(): 对字符串进行解码 (已废弃,建议使用 decodeURI() 或 decodeURIComponent() )。

ES6 新增的全局函数:

Promise: 用于异步操作。

需要注意的点:

严格来说,parseInt() 和 parseFloat() 属于 Number 对象的方法,但可以直接作为全局函数使用。

decodeURI(), decodeURIComponent(), encodeURI(), encodeURIComponent() 严格来说属于全局对象的方法,但可以直接作为全局函数使用。

避免使用 eval(),因为它会带来安全风险。

isFinite() 和 isNaN() 在 ES6 中被加入了 Number 对象中,成为 Number.isFinite() 和 Number.isNaN(),建议使用新的方法。

这个列表涵盖了常用的全局函数。 一些宿主环境 (例如浏览器) 会提供额外的全局函数,这些函数不属于 JavaScript 语言标准的一部分。 例如,在浏览器环境中,alert(), prompt(), console.log() 等都是全局函数,但在 Node.js 环境中则不存在.