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

posted @ 2024-12-10 09:19  王铁柱6  阅读(102)  评论(0)    收藏  举报