Node.js 常用工具-util
阿新 • • 發佈:2017-06-09
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