Node.js 全局对象有哪些

Node.js 全局对象有哪些

Node.js是一个基于开源项目的JavaScript框架,用于服务器端脚本编程。Node.js全局对象是所有模块中都存在的对象。全局对象可以直接在应用程序中使用,无需导入任何模块。全局对象的添加是考虑到它们是一些基本要求,可以随时需要使用,因此最好将它们保持为全局对象,而不是为这些对象添加特定的模块。全局对象首先是在构建框架时创建的,然后可以根据要求进行更新。全局对象负责框架的基本功能,无需导入任何模块或创建任何函数以满足一些主要要求。

以下是一些Node.js全局对象的列表:

Buffer 类: Buffer类是一个全局可访问的类。Buffer类主要用于处理二进制数据。Buffer类的对象通常用来表示字节序列形式的二进制数据。

  1. Node.js 全局对象有哪些

console: 它用于将内容打印到stdout和stderr,并且是一个可在无需导入任何模块的情况下访问的全局对象。

process: 它是EventEmitter的一个实例,用于接收有关当前进程的信息。它是一个内置的全局对象,也可以使用require()显式地访问。

global: 它是一个命名空间,将变量定义在这个命名空间中会使其成为全局变量。

var myvar;

setImmediate() 方法: 回调函数按照它们创建的顺序进行排列执行。回调队列在事件循环的每次迭代中处理回调函数。它会立即执行已安排的回调函数。如果执行的回调函数受到计时器的约束,计时器将在下一个循环迭代的实例化之前不会触发。

<script>
function myFunction(website){
    console.log("Hi, Welcome to " + website);
}
 
console.log("Before the setImmediate call")
let setID = setImmediate(myFunction, "GFG");
console.log("After the setImmediate call")
for(let i=0; i<5; i++){
    console.log("Iteration of loop: "+i);
}
</script>

输出:

Node.js 全局对象有哪些

clearImmediate() 方法: 它通过停止返回的对象来执行清除操作,即对象不会被执行。

<script>
function myFunction(website){
    console.log("Hi, Welcome to " + website);
}
 
console.log("Before the setImmediate call")
let setID = setImmediate(myFunction, "GFG");
console.log("After the setImmediate call")
for(let i=0; i<5; i++){
    console.log("Iteration of loop: "+i);
}
clearImmediate(setID);
</script>

输出:

  1. Node.js 全局对象有哪些

setInterval() 方法: 如果间隔超出 int 数据类型的限制,即 2147483647,或者不是正整数,则间隔值被设置为 1。它还将非整数延迟截断为最接近的整数,并在重复的间隔中执行回调函数。

<script>
function myFunction(website){
    console.log("Hi, Welcome to " + website);
}
 
console.log("Before the setInterval call")
let setID = setInterval(myFunction, 3000, "GFG");
console.log("After the setInterval call")
</script>

输出:

  1. Node.js 全局对象有哪些

clearInterval() 方法: 它通过取消返回的对象执行 setInterval() 方法来执行清除操作,即,它不允许 setInterval 执行一次。

<script>
function myFunction(website){
    console.log("Hi, Welcome to " + website);
}
 
console.log("Before the setInterval call")
let setID = setInterval(myFunction, 3000, "GFG");
console.log("After the setInterval call")
 
clearInterval(setID);
</script>

输出:

Node.js 全局对象有哪些

setTimeout() 方法: 如果延迟超过 int 数据类型的限制,即 2147483647,或者不是正整数,则延迟值为 1。它还会将非整数的延迟截断为最接近的整数,并在重复的间隔上执行回调函数,但无法保证回调函数的准确时间。

<script>
function greet(msg, name) {  
   console.log(msg + name);
}
setTimeout(greet, 1000, "Hi ", "Geek");
</script>

输出:

Hi Geek

clearTimeout() 方法: clearTimeout() 方法用于取消由 setTimeout() 方法返回的 timeoutObj,从而阻止 setTimeout 执行。

<script>
console.log("setTimeout msg will not be printed")
function greet(msg, name) {  
   console.log(msg + name);
}
let setID = setTimeout(greet, 1000, "Hi ", "Geeks");
 
clearTimeout(setID);
</script>

输出:

setTimeout msg will not be printed

queueMicrotask()方法: 在回调函数退出后执行,如果JavaScript的执行栈为空。该方法不会将控制权返回给JavaScript,并且微任务队列可能会在循环中被多次处理,因为事件循环会调用队列中的微任务。

URLSearchParams: 这是一个在任何URL上执行读取和写入操作的API。

Node.js 全局对象有哪些

语法:

 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)方法: 它可以返回一个非特定数据类型的对象,并用于将模块导入到脚本中。
  • exports: 它可以用于将脚本中的模块导出给其他脚本使用。
  • module: 使用require()方法来包含特定模块,这不是本地的,而是在每个模块中本地的。
  • __dirname: __dirname不是全局对象,可以通过运行以下命令进行验证,如果不添加任何脚本,将抛出错误,验证__dirname不是全局对象。
  • __filename: __filename不是全局对象,可以通过运行以下命令进行验证,如果不添加任何脚本,将抛出错误,验证__filename不是全局对象。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程