Node.js 的全局对象是什么?
Node.js 是一个基于开源项目的 JavaScript 框架,用于服务器端脚本。 Node.js 全局对象是存在于所有模块中的那些对象。全局对象可以直接在应用程序中使用,无需导入任何模块。添加了全局对象,记住这些是一些基本要求,任何时候都可能需要这些,因此最好保持它们是全局的,而不是为这些对象添加特定的模块。全局对象是在首先构建框架时创建的,然后可以根据需求进行更新。全局对象负责框架的基本功能,无需导入任何模块或创建任何功能以满足某些主要要求。
下面列出了一些 Node.js 全局对象:
Buffer类: Buffer 类是一个全局可访问的类。 Buffer 类主要用于处理二进制数据。 Buffer类的对象常用于以字节序列的形式表示二进制数据。
控制台:用于打印到stdout&stderr,是一个全局对象,无需导入任何模块即可访问。
process:它是EventEmitter的一个实例,用于接收当前进程的信息。它是一个内置的全局对象,也可以使用 require() 显式访问。
global:它是一个命名空间,在这个命名空间中定义一个变量使其成为一个全局变量。
var myvar;
setImmediate() 方法:回调的函数按照它们的创建顺序对齐执行。回调队列在事件循环的每次迭代中处理回调。它立即执行预定的回调。如果正在执行的回调被定时器绑定,则直到下一个循环的迭代实例化后才会触发定时器。
Javascript
Javascript
Javascript
Javascript
Javascript
Javascript
输出:
clearImmediate() 方法:通过停止对象对setImmediate() 方法返回的对象进行清除操作,即不执行该对象。
Javascript
输出:
setInterval() 方法:如果间隔超过 int 数据类型的限制,即 2147483647 或者不是正整数,则间隔值设置为 1。它还将非整数延迟截断为最接近的整数,并执行回调函数重复的间隔。
Javascript
输出:
clearInterval() 方法:通过取消对象对setInterval() 方法返回的对象执行清除操作,即不允许setInterval 执行一次。
Javascript
输出:
setTimeout() 方法:如果延迟超过 int 数据类型的限制,即 2147483647 或者不是正整数,则延迟值设置为 1。它还将非整数延迟截断为最接近的整数,并执行回调函数重复的间隔,但不保证回调的确切时间。
Javascript
输出:
Hi Geek
clearTimeout() 方法: clearTimeout() 方法用于取消setTimeout() 方法返回的timeoutObj,使setTimeout 无法执行。
Javascript
输出:
setTimeout msg will not be printed
queueMicrotask() 方法:在回调函数退出且当 JavaScript 的执行堆栈为空时执行。此方法不会将控制权返回给 JavaScript,并且微任务队列可以循环处理多次,因为事件循环会不断调用队列中的微任务。
URLSearchParams:这是一个对任何 URL 执行读写操作的 API。
句法:
const myURL = new URL('https://www.register.com/?name=nodejs'); //It prints nodejs console.log(myURL.searchParams.get('name')); myURL.searchParams.append('name', 'xyz'); // It prints https://www.register.com/?name=nodejs&name=xyz console.log(myURL.href);
WebAssembly:这是现代浏览器支持的低级汇编语言,因此我们可以使用它来排列浏览器上的对象。
以下变量仅存在于某些可能看起来是全局的模块的范围内。
- require(id) 方法:它可以返回一个非特定数据类型的对象,用于将模块导入脚本。
var express = require('express')
- 导出:它可用于将脚本中存在的模块导出到任何其他脚本。
- 模块:它用于使用 require() 方法包含特定模块,这不是本地的,而是每个模块的本地。
- __dirname: __dirname 不是全局对象,这可以通过运行以下命令而不添加任何脚本来证明,因为这会引发错误,验证 __dirname 不是全局对象。
Create a test.js file Write the following condole.log statement: console.log("__dirname : "+ __dirname); Run the test.js file
- __filename: __filename 不是全局对象,这可以通过运行以下命令而不添加任何脚本来证明,因为这将引发错误,验证 __filename 不是全局对象。
Create a test.js file Write the following condole.log statement: console.log("__filename : "+ __filename); Run the test.js file