列举出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 环境中则不存在.