[Node.js]常用工具

util是一个Node.js的核心工具模块,提供常用的函数,用于弥补核心JavaScript提供的函数过于精简的问题。

util.inherits

uitl.inherits(constructor,superConstructor)是一个实现对象间圆形继承的函数。JavaScript的面相对象特性是基于原型的,与常见的基于类的不同。JavaScript没有提供对象继承的语言级别特性,而是通过原型复制来实现的。

一个例子

定义一个Person类,一个Student的子类,使用原型的方式为Person类添加一个showName的函数,通过util.inherits实现继承。如下所示:

输出

注意

Student仅仅继承了Person在原型中定义的函数,而构造函数内部创建的sayHello函数没有被Student继承。

如果调用sudent.sayHello()方法。

objStudent.sayHello();

util.inspect

uitl.inspect(object,[showHidden],[depth],[colors])是一个将任意对象转换为字符串的方法,通常用于调试和错误输出。它至少接受一个参数object,即要转换的对象。showHidden是一个可选参数,如果值为true,将会输出更多隐藏信息。dept表示最大递归层次,如果对象很复杂,你可以指定层次以控制输出信息的多少,如果不指定depth,默认递归2层。指定为null表示将不限制递归层数完整遍历对象。如果color为true,输出格式将会以ANSI颜色编码,通常用于在终端显示更漂亮的效果。

需要注意的是,util.inspect并不会简单地直接把对象转换为字符串,即使该对象定义了toString函数也不会调用。

一个例子

输出

util.isArray(object)

如果给定的参数object是一个数组返回true,否则返回false。

输出

util.isRegExp(object)

如果给定的参数object是一个正则表达式则返回true否则返回false。

输出

util.isDate(object)

如果给定的参数object是一个日期则返回true,否则返回false

输出

util.isError(object)

如果给定的参数object是一个错误对象则返回true,否则返回false

输出

posted @ 2017-02-19 10:24  wolfy  阅读(337)  评论(0编辑  收藏  举报