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




相关文章
|
4月前
|
JavaScript 前端开发 网络安全
【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程
【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程
205 4
|
4月前
|
JavaScript 前端开发 UED
在 JavaScript 中,异步编程和回调函数是处理非阻塞操作(如网络请求、文件读写等)的重要工具
【5月更文挑战第10天】JavaScript中的异步编程和回调函数用于处理非阻塞操作,提高应用响应性和吞吐量。异步编程通过回调函数、Promises和async/await等方式实现,避免程序因等待操作完成而阻塞。回调函数是异步操作完成后调用的函数,常用于处理网络请求等。然而,回调函数存在嵌套问题和错误处理困难,因此出现了Promises和async/await等更优解决方案。
36 3
|
4月前
|
数据可视化 JavaScript 前端开发
【专栏】D3.js 和 Tableau 是两种流行的数据可视化工具
【4月更文挑战第27天】D3.js 和 Tableau 是两种流行的数据可视化工具。D3.js,一个JavaScript库,以其灵活性和定制性著称,适合创建复杂、个性化的可视化效果,但需要编程技能。Tableau,一款用户友好的分析软件,提供直观界面和强大分析功能,适合快速生成常见图表。在选择时,应考虑项目需求、团队技术能力、数据规模和性能要求。两者可单独使用,也可结合发挥各自优点。随着数据可视化需求的增长,这些工具将持续发展并提供更好的解决方案。
133 1
|
11天前
|
JavaScript 小程序 Java
【工具】用nvm管理nodejs版本切换,真香!
本文详细介绍了如何使用 nvm(node.js 版本管理工具)解决在不同项目间频繁切换 Node.js 版本的问题。通过实例展示了 A、B 两个项目分别依赖 v14.19.1 和 v16.15.0 版本时的解决方案,并提供了 nvm 的下载、安装及常用命令等实用信息,帮助读者轻松管理 Node.js 版本。文章还包括了卸载已安装的 Node.js、配置环境变量等步骤,确保切换顺畅无阻。
35 0
【工具】用nvm管理nodejs版本切换,真香!
|
19天前
|
JavaScript IDE 前端开发
前端开发工具配置 nodejs & git & IDE
前端开发工具配置 nodejs & git & IDE
|
3月前
|
存储 JavaScript 前端开发
Node.js 常用工具
Node.js 常用工具
21 1
|
2月前
|
JavaScript 数据安全/隐私保护
node.js 命令行的命令注册和配置工具(最新版) commander.js 实用教程(含自研脚手架的创建流程)
node.js 命令行的命令注册和配置工具(最新版) commander.js 实用教程(含自研脚手架的创建流程)
79 0
|
2月前
|
JavaScript 数据安全/隐私保护 索引
node.js 命令行交互工具(最新版) inquirer.js 实用教程
node.js 命令行交互工具(最新版) inquirer.js 实用教程
108 0
|
2月前
|
开发工具 数据安全/隐私保护 git
为了方便项目打包,我用Node写了个git-tag工具
为了方便项目打包,我用Node写了个git-tag工具
38 0
|
2月前
|
移动开发 JavaScript
thinkPHP5.0开发微信H5页面分享接口signature验证失败,signature与微信 JS 接口签名校验工具返回结果不一致
thinkPHP5.0开发微信H5页面分享接口signature验证失败,signature与微信 JS 接口签名校验工具返回结果不一致
67 0
下一篇
DDNS