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




相关文章
|
3月前
|
JSON JavaScript 前端开发
超级实用!详解Node.js中的util模块和express模块
超级实用!详解Node.js中的util模块和express模块
|
JavaScript 前端开发
Node.js 常用工具util包
Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足。 util.isError(obj); util.isDate(obj); util.inherits(constr,super); util.isRegExp(/some regexp/); util.isArray(obj); util.inspect(obj); util.inherits util.inherits(constructor, superConstructor)是一个实现对象间原型继承 的函数。
1379 0
|
2月前
|
Web App开发 缓存 JavaScript
【安装指南】nodejs下载、安装与配置详细教程
这篇博文详细介绍了 Node.js 的下载、安装与配置过程,为初学者提供了清晰的指南。读者通过该教程可以轻松完成 Node.js 的安装,了解相关配置和基本操作。文章首先介绍了 Node.js 的背景和应用场景,随后详细说明了下载安装包、安装步骤以及配置环境变量的方法。作者用简洁明了的语言,配以步骤图示,使得读者能够轻松跟随教程完成操作。总的来说,这篇文章为初学者提供了一个友好的入门指南,使他们能够顺利开始使用 Node.js 进行开发。
177 1
【安装指南】nodejs下载、安装与配置详细教程
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
74 0
|
3月前
|
JavaScript 前端开发 API
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)(下)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
35 0
|
3月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)(上)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
42 0
|
16天前
|
JavaScript Windows
NodeJS 安装及环境配置
NodeJS 安装及环境配置
|
25天前
|
Linux 开发工具 git
node使用nrm 管理托管node的安装源
node使用nrm 管理托管node的安装源
40 1
|
1月前
|
Web App开发 JavaScript 前端开发
Windows 10上安装Node.js的初学者指南
Node.js是是一个强大的JavaScript运行时环境,建立在Chrome的V8 JavaScript引擎上,让你能够在服务器端运行JavaScript。 通过本教程,你将学会如何设置Node.js和npm(节点包管理器等现代Web开发的必备工具。无论你是希望构建Web应用程序、创建服务器端脚本,还是涉足全栈开发,安装Node.js都是你的第一步。那么,让我们开始吧!
|
2月前
|
JavaScript
记录安装nodejs遇到的问题及解决
最近在搭建网站,需要用到nodejs,在配置的时候遇到3个问题,经过搜索和自己思考,把遇到的问题和解决方案记录下来,以供参考