1. 程式人生 > >Node.js 常用工具-util

Node.js 常用工具-util

ring true log tostring 字符串 常用工具 字符 null bject

util.inherits

util.inherits(constructor, superConstructor)是一個實現對象間原型繼承 的函數。

在這裏我們只介紹util.inherits 的用法,示例如下:

var util = require(‘util‘); //加載util模塊

//Base原型定義屬性 function Base() { this.name = ‘base‘; this.base = 1991; this.sayHello = function() { console.log(‘Hello ‘ + this.name); }; }

//Base非原型定義的屬性 showName函數 Base.prototype.showName = function() { console.log(this.name); };

//Sub 原型屬性 function Sub() { this.name = ‘sub‘; }
util.inherits(Sub, Base); //Sub對象繼承與Base 當前僅僅可訪問showName
var objBase = new Base(); objBase.showName(); //base
objBase.sayHello(); //Hello base console.log(objBase); //{ name: ‘base‘, base: 1991, sayHello: [Function] }
var objSub = new Sub(); objSub.showName(); //sub //objSub.sayHello(); console.log(objSub);//{ name: ‘sub‘ }

註意:

<1>Sub 僅僅繼承了Base 在原型中定義的函數,而構造函數內部創造的 base 屬 性和 sayHello 函數都沒有被 Sub 繼承

<2>在原型中定義的屬性不會被console.log 作 為對象的屬性輸出

util.inspect

util.inspect(object,[showHidden],[depth],[colors])是一個將任意對象轉換 為字符串的方法,通常用於調試和錯誤輸出

object,即要轉換的對象。

howHidden 是一個可選參數,如果值為 true,將會輸出更多隱藏信息。

depth指定層數以控制輸出信息的多 少

color輸出格式將會以ANSI 顏色編碼

代碼:

var util = require(‘util‘); 
function Person() { 
	this.name = ‘byvoid‘; 
	this.toString = function() { 
	return this.name; 
	}; 
} 
var obj = new Person(); 
console
.log(util.inspect(obj)); //
Person { name: ‘byvoid‘, toString: [Function] }
console.log(util.inspect(obj, true));
/*
Person {
  name: ‘byvoid‘,
  toString: 
   { [Function]
     [length]: 0,
     [name]: ‘‘,
     [arguments]: null,
     [caller]: null,
     [prototype]: { [constructor]: [Circular] } } }*/
 

util.isArray(object)

給定的參數 "object" 是一個數組返回true,否則返回false

util.isRegExp(object)

給定的參數 "object" 是一個正則表達式返回true,否則返回false

util.isDate(object)

如果給定的參數 "object" 是一個日期返回true,否則返回false。

util.isError(object)

如果給定的參數 "object" 是一個錯誤對象返回true,否則返回false

來自:http://www.runoob.com/nodejs/nodejs-util.html

Node.js 常用工具-util