util 是 Node.js的核心模塊,提供常用的函數(shù)集合。
以下我們分別介紹 isArray() , isRegExp() , isDate() , isError() , inspect , inherits等香瓜方法
- util.isArray(object);
判斷一個對象是不是數(shù)組,是返回true,不是返回false
示例:
var util = require('util');
console.log("[] "+util.isArray([])); // true
console.log("new Array() "+util.isArray(new Array())); // true
console.log("{} "+util.isArray({})); // false
- util.isRegExp(object);
判斷一個對象是不是正則表達式,是返回true,不是返回false
示例:
var util = require('util');
console.log(" "+util.isRegExp(/\d{2, 4}/)); // true 匹配2到4間的數(shù)字.
console.log(" "+util.isRegExp(new RegExp(/\d{2, 4}/))); // true 匹配2到4間的數(shù)字.
console.log(" "+util.isRegExp('node.js')); // false
- util.isDate(object)
判斷是不是一個日期對象,是返回true 不是返回false
示例:
var util = require('util');
console.log(" "+util.isDate(new Date())); // true
console.log(" "+util.isDate('2017-9-14 16:02:11')); // false
console.log(" "+util.isDate(Date())); // false (without 'new' returns a String)
console.log(" "+util.isDate({})); // false
- util.isError(object)
如果給定的參數(shù)是一個錯誤對象,返回true,否則返回false
示例:
var util = require('util');
console.log(" "+util.isError(new Error())); // true
console.log(" "+util.isError(new TypeError())); // true
console.log(util.isError({ name: 'Error', message: 'an error occurred' })); // false
- util,inspect
util.inspect通常用戶調(diào)試和錯誤輸出,
util.inspect(object,[showHidden],[depth],[colors])
至少接受一個參數(shù),即要轉換的對象,
showHidden是一個可選參數(shù),如果傳true,表示輸出更多隱藏信息
depth 表示遞歸的最大層數(shù),不指定該參數(shù),默認遞歸兩層
color 傳true值,輸出格式將會以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));
console.log(util.inspect(obj, true));
運行結果:
Person { name: 'byvoid', toString: [Function] }
Person {
name: 'byvoid',
toString:
{ [Function]
[length]: 0,
[name]: '',
[arguments]: null,
[caller]: null,
[prototype]: { [constructor]: [Circular] } } }