iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >一文详解node.js有哪些全局对象呢
  • 762
分享到

一文详解node.js有哪些全局对象呢

2024-04-02 19:04:59 762人浏览 独家记忆
摘要

目录一、是什么二、有哪些真正的全局对象Class:BufferprocessconsoleclearInterval、setIntervalclearTimeout、setTimeo

一、是什么

在浏览器 javascript 中,通常window 是全局对象, 而 nodejs中的全局对象是 global

nodejs里,是不可能在最外层定义一个变量,因为所有的用户代码都是当前模块的,只在当前模块里可用,但可以通过exports对象的使用将其传递给模块外部

所以,在NodeJS中,用var声明的变量并不属于全局的变量,只在当前模块生效

像上述的global全局对象则在全局作用域中,任何全局变量、函数、对象都是该对象的一个属性值

二、有哪些

将全局对象分成两类:

  • 真正的全局对象
  • 模块级别的全局变量

真正的全局对象

下面给出一些常见的全局对象:

  • Class:Buffer
  • process
  • console
  • clearInterval、setInterval
  • clearTimeout、setTimeout
  • global

Class:Buffer

可以处理二进制以及非Unicode编码的数据

Buffer类实例化中存储了原始数据。Buffer类似于一个整数数组,在V8堆原始存储空间给它分配了内存

一旦创建了Buffer实例,则无法改变大小

process

进程对象,提供有关当前进程的信息和控制

包括在执行node程序进程时,如果需要传递参数,我们想要获取这个参数需要在process内置对象中

启动进程:

 node index.js 参数1 参数2 参数3

index.js文件如下:

process.argv.forEach((val, index) => {
  console.log(`${index}: ${val}`);
});

输出如下:

/usr/local/bin/node
/Users/mjr/work/node/process-args.js
参数1
参数2
参数3

除此之外,还包括一些其他信息如版本、操作系统

console

用来打印stdoutstderr

最常用的输入内容的方式:console.log

console.log("hello");

清空控制台:console.clear

console.clear

打印函数的调用栈:console.trace

function test() {
    demo();
}
function demo() {
    foo();
}
function foo() {
    console.trace();
}
test();

clearInterval、setInterval

设置定时器与清除定时器

setInterval(callback, delay[, ...args])

callbackdelay毫秒重复执行一次

clearInterval则为对应发取消定时器的方法

clearTimeout、setTimeout

设置延时器与清除延时器

setTimeout(callback,delay[,...args])

callbackdelay毫秒后执行一次

clearTimeout则为对应取消延时器的方法

global

全局命名空间对象,墙面讲到的processconsolesetTimeout等都有放到global

console.log(process === global.process) // true

模块级别的全局对象

这些全局对象是模块中的变量,只是每个模块都有,看起来就像全局变量,像在命令交互中是不可以使用,包括:

  • __dirname
  • __filename
  • exports
  • module
  • require

__dirname

获取当前文件所在的路径,不包括后面的文件名

从 /Users/mjr 运行 node example.js

console.log(__dirname);
// 打印: /Users/mjr

__filename

获取当前文件所在的路径和文件名称,包括后面的文件名称

从 /Users/mjr 运行 node example.js

console.log(__filename);
// 打印: /Users/mjr/example.js

exports

module.exports 用于指定一个模块所导出的内容,即可以通过 require() 访问的内容

exports.name = name;
exports.age = age;
exports.sayHello = sayHello;

module

对当前模块的引用,通过module.exports 用于指定一个模块所导出的内容,即可以通过 require() 访问的内容

require

用于引入模块、 JSON、或本地文件。 可以从 node_modules 引入模块。

可以使用相对路径引入本地模块或JSON文件,路径会根据__dirname定义的目录名或当前工作目录进行处理

到此这篇关于一文详解node.js有哪些全局对象呢的文章就介绍到这了,更多相关node.js全局对象内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 一文详解node.js有哪些全局对象呢

本文链接: https://www.lsjlt.com/news/168364.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 一文详解node.js有哪些全局对象呢
    目录一、是什么二、有哪些真正的全局对象Class:BufferprocessconsoleclearInterval、setIntervalclearTimeout、setTimeo...
    99+
    2024-04-02
  • Node.js中怎么实现一个全局对象
    Node.js中怎么实现一个全局对象,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Node.js 全局对象现在介绍 Node....
    99+
    2024-04-02
  • JavaScript 开发者的秘密武器:Node.js 全局对象详解
    一、概述 在 JavaScript 中,Node.js 全局对象是 JavaScript 应用程序的基础。它提供了多种内置对象和属性,使您能够轻松地构建复杂的应用程序。Node.js 全局对象是 JavaScript 运行时环境的重要...
    99+
    2024-02-04
    JavaScript Node.js 全局对象 内置对象 属性
  • Node.js 全局对象:深入理解 JavaScript 的引擎
    全局对象的属性 全局对象包含以下重要的属性: process: 提供有关当前进程的信息和方法,例如进程 ID、命令行参数和内存使用情况。 console: 提供了一个用于在控制台上输出消息的接口,包括 console.log() 和 c...
    99+
    2024-04-02
  • Node.js 全局对象:解密 JavaScript 的超级力量
    全局对象属性 Node.js 全局对象包含以下关键属性: console:提供用于向控制台打印消息的方法。 Buffer:用于处理二进制数据,例如图像和流。 process:包含有关当前 Node.js 进程的信息。 require()...
    99+
    2024-04-02
  • 了解 Node.js 全局对象:解锁开发的无限可能
    全局对象的组成 全局对象是一个特殊的 JavaScript 对象,它包含了 Node.js 运行时环境中可用的所有全局变量、函数和属性。这些全局成员可以分为几类: 核心模块:这是 Node.js 内置的模块,提供对文件系统、网络、加密和...
    99+
    2024-04-02
  • Node.js 全局对象指南:解锁 JavaScript 的无限可能
    Node.js 全局对象是 JavaScript 语言的核心,它为开发者提供了许多有用的工具和功能,可以极大地简化开发过程。本文将对 Node.js 全局对象进行详细介绍,帮助开发者更好地理解和使用这些对象。 1. 全局对象是什么? 全...
    99+
    2024-02-04
    Node.js 全局对象 JavaScript 开发
  • nodejs全局变量和全局对象知识点及用法详解
    1、全局对象 所有模块都可以调用 1)global:表示Node所在的全局环境,类似于浏览器中的window对象。 2)process:指向Node内置的process模块,允许开发...
    99+
    2024-04-02
  • Node.js 全局对象:解锁服务器端开发的魔力
    主要全局对象 1. console 提供控制台输出方法,如 console.log() 和 console.error()。 用于调试、日志记录和与用户交互。 2. process 代表当前 Node.js 进程。 提供有关进程信息...
    99+
    2024-04-02
  • 一文详解JavaScript数组对象和字符串对象
    目录一、数组对象1.数组类型检测2.添加或删除数组元素3.【案例】筛选数组4.数组排序5.数组索引6.【案例】数组去除重复元素7. 数组转换为字符串8.其他方法二、字符串对象1.字符...
    99+
    2023-05-17
    JavaScript字符串对象 JavaScript数组对象
  • 一文详解Go的面向对象编程
    目录概述实战常规函数写法调用结构体类型上的方法调用接口类型上的方法嵌入式接口概述 Go 语言的面向对象编程有三个重要的思想:封装、继承和多态。 封装 Go 语言通过 struct 结...
    99+
    2023-05-18
    Go语言 面向对象
  • 一文详解Qt中的对象树机制
    Qt提供了对象树机制,能够自动、有效的组织和管理继承自QObject的Qt对象。 每个继承自QObject类的对象通过它的对象链表(QObjectList)来管理子类对象,当用户创建...
    99+
    2023-03-21
    Qt对象树机制使用 Qt对象树机制 Qt对象树
  • 如何全局重写小程序Page函数wx对象详解
    目录背景方案重写Page函数重写wx对象注意事项pageProxywxProxy总结背景 如果能够全局改写小程序的Page里的生命周期方法或wx里的函数,那么可以做很多有意思的事情。...
    99+
    2024-04-02
  • 基于Vue3+TypeScript的全局对象的注入和使用详解
    目录1、Vue2的全局挂载2、Vue3+TypeScript的全局挂载3、Vue3+TypeScript的全局挂载的对象接口定义刚完成一些前端项目的开发,腾出精力来总结一些前端开发的...
    99+
    2024-04-02
  • VUE Nuxt.js 中间件的局限性有哪些?一文了解!
    中间件的局限性通常与处理请求和响应的方式以及可访问的资源和权限有关。首先,中间件只能在每次请求的上下文中访问请求和响应对象,这可能会限制它们能够执行的操作。它们不能直接修改应用程序的状态或访问持久化数据。 其次,中间件无法与其他中间件或组...
    99+
    2024-02-22
    Vue Nuxt.js 中间件
  • 一文详解Java抽象类到底有多抽象
    目录抽象类1.引出抽象类2.认识抽象类接口1.抽象类和接口的区别2.认识接口3.具体实现USB接口接口表示能力抽象类 1.引出抽象类 向上转型带来的最大的好处就是参数统一化,使用共同...
    99+
    2024-04-02
  • Python中的文件与文件对象有哪些属性
    今天小编给大家分享一下Python中的文件与文件对象有哪些属性的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1 文件'...
    99+
    2023-06-29
  • Session详解,学习 Session对象一篇文章就够了
    目录 1 Session概述 2 Session原理 3 Session使用 3.1 获取Session 3.2 Session保存数据 3.3 Session获取数据 3.4 Session移除数据 4 Session与Request...
    99+
    2023-08-31
    学习 服务器 前端
  • DOM文档对象模型的知识点有哪些
    这篇文章主要介绍了DOM文档对象模型的知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇DOM文档对象模型的知识点有哪些文章都会有所收获,下面我们一起来看看吧。D:do...
    99+
    2024-04-02
  • 【C++类和对象】类有哪些默认成员函数呢?(下)
    文章目录 一、类的6个默认成员函数二、日期类的实现2.1 运算符重载部分2.2 日期之间的运算2.3 整体代码1.Date.h部分2. Date.cpp部分 三. const成员函数...
    99+
    2023-09-06
    c++ 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作