Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node.js 全局变量 #4

Open
luoway opened this issue Sep 3, 2023 · 0 comments
Open

Node.js 全局变量 #4

luoway opened this issue Sep 3, 2023 · 0 comments
Labels

Comments

@luoway
Copy link
Owner

luoway commented Sep 3, 2023

Node.js 中的模块全局可用的变量,可以分为三类:

  1. CommonJS 模块化注入的变量
  2. 兼容早期 Node.js 直接在全局暴露的模块
  3. Javascript 语言规范中定义的全局变量

本文对当前最新版本(v20.6.1)Node.js 的全局变量归类,方便查找、记忆。

CommonJS

仅在 CommonJS 模块中可用,ES模块中访问报错。

它们由模块包装器函数提供,在模块上下文中可以直接使用,但不是全局变量

  • module
  • exports
  • require
  • __dirname
  • __filename

兼容早期全局模块

  • Buffer 用于处理二进制数据
  • process 用于操作当前运行的Node.js进程

Javascript 语言规范

  • AbortController 用于控制网络请求中断
  • Blob 表示一个不可变、原始数据的类文件对象
  • btoaatob,字符串与 base64 编码、解码函数
  • console 控制台打印调试信息
  • CustomEvent 自定义事件类型
  • Event 事件的构造函数,其他事件继承自该构造函数
  • EventTarget 事件目标的构造函数,具有addEventListenerremoveEventListenerdispatchEvent 共3个实例方法
  • File 一种表示文件的构造函数,如 <input type="file"/> 收到的文件就是 File 实例
  • globalThis 表示全局上下文
  • performance 性能实例对象及相关构造函数
  • DOMException 表示使用 Web API 中发生的异常事件
  • URL 用于解析,构造,规范化和编码URL
  • URLSearchParams 用于处理URL上的查询字符串
  • structuredClone 深拷贝
  • WebAssembly 是WebAssembly相关功能的命名空间
  • 通信相关
    • BroadcastChannel 构造函数,命名创建广播消息,用于同源页面、worker通信
    • MessageChannel 构造函数,用于一对一通信
    • MessagePort 一种构造函数,其实例为 MessageChannel 实例的属性 port1port2
  • 事件循环相关
    • setImmediate, clearImmediate
    • setInterval, clearInterval
    • setTimout, clearTimout
    • queueMicrotask
  • Fetch API 相关
    • fetch 用于发出请求
    • Headers 提供操作请求的headers对象的方法
    • Request
    • Response
    • FormData 表单数据的构造函数,其实例提供操作表单数据的方法。fetch 支持发送 FormData 实例
  • Stream API 相关
    • ByteLengthQueuingStrategy 构造流时配置队列策略的字节总数
    • CountQueuingStrategy 构造流时配置队列策略的分块总数
    • CompressionStream 配置数据流的压缩格式
    • DecompressionStream 配置数据流的解压格式
    • ReadableStream 表示可读的字节数据流
    • WritableStream 对写入流的抽象
    • TransformStream 转换流、可转移对象,可读写
  • Crypto API 相关
    • Crypto 一种构造函数类型,描述 crypto
    • CryptoKey 一种构造函数类型,描述 SubtleCrypto 实例方法中的密钥
    • cryptoCrypto的实例,提供对通用的密码学功能和强随机数生成器的访问
    • SubtleCrypto 一种构造函数类型,描述 crypto.subtle
  • 文本编码、解码相关构造函数
    • TextEncoder
    • TextDecoder
    • TextEncoderStream
    • TextDecoderStream

参考资料

@luoway luoway added the 模块 label Sep 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant