关闭

Node.Js util模块

标签: node.jsutil模块
315人阅读 评论(0) 收藏 举报
分类:

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


1.util.inherits(constructor, superConstructor)是一个实现对象间原型继承 的函数。
JavaScript 的面向对象特性是基于原型的,与常见的基于类的不同。

JavaScript 没有 提供对象继承的语言级别特性,而是通过原型复制来实现的。

var util=require('util');
function Base(){
	this.name='base';
	this.base=1991;
	this.sayHello=function(){
		console.log('Hello '+this.name);
	}
}
Base.prototype.showName=function(){
	console.log(this.name);
}
function Sub(){
	this.name='sub';
}
util.inherits(Sub,Base);
//父类实例
var objBase=new Base();
objBase.showName(); // base
objBase.sayHello(); // Hello base
console.info(objBase); //{ name: 'base', base: 1991, sayHello: [Function] }
//子类实例
var objSub=new Sub();
objSub.showName(); // sub
//objSub.sayHello(); //非原型链的方法没有继承,此处抛出异常
console.info(objSub); // { name: 'sub' }
2.util.inspect(object,[showHidden],[depth],[colors])是一个将任意对象转换 为字符串的方法,
通常用于调试和错误输出。
它至少接受一个参数 object,即要转换的对象。
showHidden 是一个可选参数,如果值为 true,将会输出更多隐藏信息。
depth 表示最大递归的层数,如果对象很复杂,你可以指定层数以控制输出信息的多 少。如果不指定depth,默认会递归2层,指定为 null 表示将不限递归层数完整遍历对象。 
color 值为 true,输出格式将会以ANSI 颜色编码,通常用于在终端显示更漂亮 的效果。
特别要指出的是,util.inspect 并不会简单地直接把对象转换为字符串,即使该对 象定义了toString 方法也不会调用。

var util=require('util');
function Person(){
	this.name='zhangsan';
	this.toString=function(){
		return 'Hello '+this.name;
	}
}
var obj=new Person();
console.log(util.inspect(obj)); //{ name: 'zhangsan', toString: [Function] }
console.log(util.inspect(obj,true));
// { name: 'zhangsan',
//   toString: 
//    { [Function]
//      [length]: 0,
//      [name]: '',
//      [arguments]: null,
//      [caller]: null,
//      [prototype]: { [constructor]: [Circular] } } }
3.数据类型判断
util.isNull(object),
util.isUndefined(object),
util.isNullOrUndefined(object),
util.isError(object),
util.isNumber(object),
util.isString(object),
util.isBollean(object),
util.isFunction(object),
util.isArray(object),
util.isRegExp(object),
util.isDate(object),
util.isBuffer(object)
util.isPrimitive(object)
util.isSymbol(object)

var util=require('util');
var age=11;
var name='zhagnsan';
var person={
	age:age,
	name:name
}
//isNull 是否为null判断
console.log(util.isNull(age)); //false
console.log(util.isNull(null)); //true
4.util.format(format, [...])
根据第一个参数,返回一个格式化字符串,类似printf的格式化输出。
第一个参数是一个字符串,包含零个或多个占位符。 每一个占位符被替换为与其对应的转换后的值。 支持的占位符有:
%s - 字符串.
%d - 数字 (整型和浮点型).
%j - JSON. 如果这个参数包含循环对象的引用,将会被替换成字符串 '[Circular]'。
%% - 单独一个百分号('%')。不会消耗一个参数。
如果占位符没有相对应的参数,占位符将不会被替换。
var util=require('util');
//如果占位符没有相对应的参数,占位符将不会被替换。
console.log(util.format('%s:%s'),'zhangsan'); //zhangsan:%s
//如果有多个参数占位符,额外的参数将会调用util.inspect()转换为字符串。这些字符串被连接在一起,并且以空格分隔。
console.log(util.format('%s:%s','one','two','three')); //one:two three
//如果第一个参数是一个非格式化字符串,那么util.format()将会把所有的参数转成字符串,以空格隔开,拼接在一块,并返回该字符串。
//util.inspect()会把每个参数都转成一个字符串。
console.log(util.format(1,2,3));// '1 2 3'

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Nodejs源码解析之util

util是nodejs中的工具类,属于内部API,被nodejs其他模块使用。 可以浏览官方文档:https://nodejs.org/dist/latest-v5.x/docs/api/util.h...
  • leoleocs
  • leoleocs
  • 2015-12-31 09:53
  • 1081

Node.js模块小记之--util

util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足。 util.inherits util.inherits(constru...
  • qq_36453032
  • qq_36453032
  • 2017-05-02 14:42
  • 63

Node.js核心模块_全局变量、util学习

全局对象javascript的全局对象是window,他及其所有属性都可以在程序的任何地方访问。即全局变量。 而在node中全局对象是global,所有全局变量都是global对象的属性,包括其本身...
  • A_xilixiaogui
  • A_xilixiaogui
  • 2017-03-20 21:41
  • 185

Node.js之模块的基本概念

模块算是Node.js里面比较重要的概念了,以往在网页上写JavaScript,都是通过标签来嵌入JavaScript代码,这样对于代码的组织和复用并不灵活,所以,Node.js使用了模块来管理不同的...
  • u014652699
  • u014652699
  • 2015-02-16 23:26
  • 936

nodejs-使用目录来管理模块

我们在一个模块中引用另一个模块一般都用带路径的文件名 如 var test=require(‘./test.js’); 我们想引用不用全路径引用该模块 var test=require('tes...
  • songmaolin_csdn
  • songmaolin_csdn
  • 2016-10-19 18:22
  • 285

【深入浅出Node.js系列三】深入Node.js的模块机制

1 Node.js模块的实现 之前在网上查阅了许多介绍Node.js的文章,可惜对于Node.js的模块机制大都着墨不多。在后续介绍模块的使用之前,我认为有必要深入一下Node.js的模块机制。 ...
  • zhangyuan19880606
  • zhangyuan19880606
  • 2016-05-26 16:50
  • 1144

nodejs内置模块

nodejs内置模块: 1、path模块 :  用于处理文件路径。 path.normalize(路径解析,得到规范路径); path.join(路径合并); path.resolve(获取绝对...
  • zeroJustGG
  • zeroJustGG
  • 2017-03-11 11:48
  • 1861

Node.js中的常用工具类util

util是一个Node.js核心模块,提供常用函数的集合,用于弥补JavaScript的功能的不足,util模块设计的主要目的是为了满足Node内部API的需求。其中包括:格式化字符串、对象的序列化、...
  • tiandiwuya
  • tiandiwuya
  • 2017-12-19 15:30
  • 26

Node.js中的模块机制

本文为读书笔记。 一、CommonJS的模块规范 Node与浏览器以及 W3C组织、CommonJS组织、ECMAScript之间的关系  Node借鉴Common...
  • u012422829
  • u012422829
  • 2016-10-09 18:33
  • 3740

Node.js 创建的第一个应用

在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的: 引入 required 模块:我们可以使用 requ...
  • moxiaoya1314
  • moxiaoya1314
  • 2016-07-25 09:40
  • 679
    个人资料
    • 访问:1317236次
    • 积分:15027
    • 等级:
    • 排名:第909名
    • 原创:452篇
    • 转载:152篇
    • 译文:1篇
    • 评论:149条
    最新评论