Node.js 常用工具 util

简介:

util 是一个 Node.js 核心模块,提供常用函数的集合,用于弥补核心 Javascript 功能过于精简的不足。


util.inherits(constructor, superConstructor)

实现对象间原型继承的函数,第一个构造函数 将从 第二个构造函数那里继承原型的方法


JavaScript 的面向对象特性是基于原型的,与常见的基于类的不同。JavaScript 没有 提供对象继承的语言级别特性,而是通过原型复制来实现


示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var  util = require( 'util' );
 
//基础对象
function  Base(){
     this .name =  'base' ;
     this .base =  '1990' ;
 
     this .sayHello =  function (){
         console.log( 'Hello ' + this .name);
     }
};
 
Base.prototype.showName =  function (){
     console.log( this .name);
};
 
//继承自 Base 的对象
function  Sub(){
     this .name =  'sub' ;
}
 
util.inherits(Sub, Base);
 
var  objBase =  new  Base();
objBase.showName();
objBase.sayHello();
console.log(objBase);
 
var  objSub =  new  Sub();
objSub.showName();
console.log(objSub);


我们定义了一个基础对象 Base 和一个继承自 Base 的 Sub,Base 有三个在构造函数内定义的属性和一个原型中定义的函数,通过 util.inherits 实现继承。结果如下:

wKioL1h16b2wjkqZAAAlbaPiTAo783.png


注意,Sub 仅仅继承了 Base 在原型中定义的函数,而构造函数内部创造的 base 属性和 sayHello 函数都没有被 Sub 继承。同时,在原型中定义的属性不会被 console.log 作为对象的属性输出。


尝试打印输出 objSub.sayHello() 这个方法,输出的结果是:

wKioL1h16sfiVn4CAACwgju0zUY918.png



util.inspect(object,[showHidden],[depth],[colors]

是一个将任意对象转换成字符串的方法,通常用于调试和错误输出。


util.inspect 接受至少一个参数 object,即要转换的对象。


其它可选参数如下:


showHidden <boolean> 是一个可选参数,如果值为 true,将会输出更多隐藏信息


depth <number>  表示最大递归的层数,如果对象很复杂,你可以指定层数以控制输出信息的多少。如果不指定 depth,默认会递归 2 层;指定为 null,表示不限制递归层数,完整遍历对象


colors <boolean> 如果值为 true,输出格式将会以 ANSI 颜色编码,通常用于在终端显示更漂亮的效果


特别要指出的是,util.inspect 并不会简单地直接把对象转换为字符串,即使该对 象定义了 toString 方法也不会调用


示例代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
var  util = require( 'util' );
 
function  Person(){
     this .name =  'Roger' ;
 
     this .toString =  function (){
         return  this .name;
     }
}
 
var  obj =  new  Person();
console.log(util.inspect(obj));
console.log(util.inspect(obj,  true ));


运行结果:

wKioL1h175qAEq-gAAAyNT_RZpk861.png


本文转自   frwupeng517   51CTO博客,原文链接:http://blog.51cto.com/dapengtalk/1891133




目录
打赏
0
0
0
0
96
分享
相关文章
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
基于 Next.js 的书法字体生成工具架构设计与 SSR 优化实践
本项目是一款书法字体生成工具,采用 Next.js 14(App Router)与 Tailwind CSS 构建前端,阿里云 Serverless 部署后端。通过混合渲染策略(SSG/SSR/CSR)、Web Worker 异步计算及 CDN 字体分片加载优化性能。服务端借助阿里云函数计算处理计算密集型任务,将平均耗时从 1200ms 降至 280ms,支持 1000+ QPS。动态路由与 ARMS 监控提升工程化水平,未来计划引入 WebGPU 和 AI 字体风格迁移技术,进一步优化用户体验。
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
157 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
8月前
|
如何使用内存快照分析工具来分析Node.js应用的内存问题?
需要注意的是,不同的内存快照分析工具可能具有不同的功能和操作方式,在使用时需要根据具体工具的说明和特点进行灵活运用。
230 62
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具
npm、cnpm 和 pnpm 是三种常用的 Node.js 包管理工具。npm 是官方默认的包管理器,提供依赖管理、安装和更新等功能;cnpm 是由阿里巴巴开发的 npm 镜像,专为中国大陆用户优化,解决下载速度慢的问题;pnpm 通过硬链接技术提高安装速度并节省磁盘空间,特别适合磁盘资源紧张的环境。三者命令类似,但各有特色,开发者可根据需求选择合适的工具。
550 5
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
354 11
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
1045 9
Node.js 常用工具
10月更文挑战第6天
101 2

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问