util 是 Node.js的核心模块,提供常用的函数集合。
以下我们分别介绍 isArray() , isRegExp() , isDate() , isError() , inspect , inherits等香瓜方法
- util.isArray(object);
判断一个对象是不是数组,是返回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间的数字.
console.log(" "+util.isRegExp(new RegExp(/\d{2, 4}/))); // true 匹配2到4间的数字.
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)
如果给定的参数是一个错误对象,返回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通常用户调试和错误输出,
util.inspect(object,[showHidden],[depth],[colors])
至少接受一个参数,即要转换的对象,
showHidden是一个可选参数,如果传true,表示输出更多隐藏信息
depth 表示递归的最大层数,不指定该参数,默认递归两层
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] } } }