node.js提供了很多模塊泣洞,其中util就是nodejs核心模塊之一,主要就是為了彌補(bǔ)js過(guò)于精簡(jiǎn)而造成的不足默色。
- util.inherits
util.inherits(constructor, superConstructor)是用來(lái)實(shí)現(xiàn)對(duì)象間原型繼承的函數(shù)
舉個(gè)栗子說(shuō)明一切
const util = require("util");
function one() {
this.name = "one";
this.one = "111";
this.sayWho = function () {
console.log("我是"+this.name);
}
}
one.prototype.sayHello = function () {
console.log(this.name);
};
function two() {
this.name = "two";
}
util.inherits(two,one);
var oneobj = new one();
oneobj.sayHello();//one
oneobj.sayWho();//我是one
console.log(oneobj);//one { name: 'one', one: '111', sayWho: [Function] }
var twoobj = new two();
twoobj.sayHello();//two
twoobj.sayWho();//twoobj.sayWho is not a function
這里我要說(shuō)下斜棚,這個(gè)two函數(shù)只繼承了,one函數(shù)的原型中定義的函數(shù)该窗,其他的都沒(méi)有繼承
- util.inspect
util.inspect(object,[showHidden],[depth],[colors])是一個(gè)將任意對(duì)象轉(zhuǎn)換為字符串的方法弟蚀,通常用于調(diào)試和錯(cuò)誤輸出。
該方法最少接受一個(gè)參數(shù)object酗失,showHidden可選义钉,當(dāng)值為true時(shí),會(huì)打印出更多隱藏 的信息规肴。depth是最大遞歸層數(shù)捶闸。
可以指定層數(shù),控制輸出的信息拖刃,color為true 的時(shí)候删壮,將以ANSI 顏色編碼輸出。
const util = require('util');
function demo() {
this.name = 'helloDemo';
this.toString = function() {
return this.name;
};
}
var d = new demo();
console.log(util.inspect(d));
console.log(util.inspect(d, true));
- util.isArray
util.isArray(object)兑牡,傳一個(gè)參數(shù)央碟,如果是數(shù)組返回true,else就返回false
var util = require('util');
util.isArray([])// true
util.isArray(new Array)// true
util.isArray({}) // false
不用多說(shuō)這個(gè)就是判斷是不是數(shù)組
- util.isRegExp
util.isRegExp(object)均函,傳一個(gè)參數(shù)亿虽,如果是正則表達(dá)式返回true,else就返回false
var util = require('util');
util.isRegExp(/some regexp/)// true
util.isRegExp(new RegExp('another regexp')) // true
util.isRegExp({})// false
此處省略幾個(gè)字
- util.isDate
util.isDate(object)苞也,傳一個(gè)參數(shù)洛勉,如果是日期返回true,else就返回false
var util = require('util');
util.isDate(new Date())// true
util.isDate(Date())// false (without 'new' returns a String)
util.isDate({}) // false
我覺(jué)得這個(gè)也不用說(shuō)
- util.isError
util.isError(object) 傳一個(gè)參數(shù)如迟,如果是錯(cuò)誤對(duì)象返回true收毫,else就返回false。
var util = require('util');
util.isError(new Error()) // true
util.isError(new TypeError())// true
util.isError({ name: 'Error', message: 'an error occurred' })// false
鄙人拙見(jiàn)殷勘,如有出入此再,勞煩指點(diǎn),謝謝