Node.js 全局对象有哪些
Node.js是一个基于开源项目的JavaScript框架,用于服务器端脚本编程。Node.js全局对象是所有模块中都存在的对象。全局对象可以直接在应用程序中使用,无需导入任何模块。全局对象的添加是考虑到它们是一些基本要求,可以随时需要使用,因此最好将它们保持为全局对象,而不是为这些对象添加特定的模块。全局对象首先是在构建框架时创建的,然后可以根据要求进行更新。全局对象负责框架的基本功能,无需导入任何模块或创建任何函数以满足一些主要要求。
以下是一些Node.js全局对象的列表:
Buffer 类: Buffer类是一个全局可访问的类。Buffer类主要用于处理二进制数据。Buffer类的对象通常用来表示字节序列形式的二进制数据。
console: 它用于将内容打印到stdout和stderr,并且是一个可在无需导入任何模块的情况下访问的全局对象。
process: 它是EventEmitter的一个实例,用于接收有关当前进程的信息。它是一个内置的全局对象,也可以使用require()显式地访问。
global: 它是一个命名空间,将变量定义在这个命名空间中会使其成为全局变量。
setImmediate() 方法: 回调函数按照它们创建的顺序进行排列执行。回调队列在事件循环的每次迭代中处理回调函数。它会立即执行已安排的回调函数。如果执行的回调函数受到计时器的约束,计时器将在下一个循环迭代的实例化之前不会触发。
输出:
clearImmediate() 方法: 它通过停止返回的对象来执行清除操作,即对象不会被执行。
输出:
setInterval() 方法: 如果间隔超出 int 数据类型的限制,即 2147483647,或者不是正整数,则间隔值被设置为 1。它还将非整数延迟截断为最接近的整数,并在重复的间隔中执行回调函数。
输出:
clearInterval() 方法: 它通过取消返回的对象执行 setInterval() 方法来执行清除操作,即,它不允许 setInterval 执行一次。
输出:
setTimeout() 方法: 如果延迟超过 int 数据类型的限制,即 2147483647,或者不是正整数,则延迟值为 1。它还会将非整数的延迟截断为最接近的整数,并在重复的间隔上执行回调函数,但无法保证回调函数的准确时间。
输出:
clearTimeout() 方法: clearTimeout() 方法用于取消由 setTimeout() 方法返回的 timeoutObj,从而阻止 setTimeout 执行。
输出:
queueMicrotask()方法: 在回调函数退出后执行,如果JavaScript的执行栈为空。该方法不会将控制权返回给JavaScript,并且微任务队列可能会在循环中被多次处理,因为事件循环会调用队列中的微任务。
URLSearchParams: 这是一个在任何URL上执行读取和写入操作的API。
语法:
WebAssembly: 这是一种低级汇编语言,受现代浏览器支持,我们可以使用它来在浏览器上布置对象。
以下变量仅存在于某些模块的作用域内,它们可能看起来是全局的。
- require(id)方法: 它可以返回一个非特定数据类型的对象,并用于将模块导入到脚本中。
- exports: 它可以用于将脚本中的模块导出给其他脚本使用。
- module: 使用require()方法来包含特定模块,这不是本地的,而是在每个模块中本地的。
- __dirname: __dirname不是全局对象,可以通过运行以下命令进行验证,如果不添加任何脚本,将抛出错误,验证__dirname不是全局对象。
- __filename: __filename不是全局对象,可以通过运行以下命令进行验证,如果不添加任何脚本,将抛出错误,验证__filename不是全局对象。