node.js javascript理解原型继承

util.inherits

util.inherits(constructor, superConstructor)是一个实现对象间原型继承的函数。

JavaScript 的面向对象特性是基于原型的,与常见的基于类的不同。JavaScript 没有提供对象继承的语言级别特性,而是通过原型复制来实现的

var util = require('util');
function Base()
{
    this.name = 'base';
    this.base = 1991;
    this.sayHello = function ()
    {
        console.log('Hello ' + this.name);
    };
}
Base.prototype.showName = function ()
{
    console.log(this.name);
};
function Sub()
{
    this.name = 'sub';
}
util.inherits(Sub, Base);
var objBase = newBase(); objBase.showName(); objBase.sayHello(); console.log(objBase);
var objSub = newSub(); objSub.showName(); //objSub.sayHello(); 访问不了 console.log(objSub);

 

util.inspect

util.inspect(object,[showHidden],[depth],[colors])是一个将任意对象转换为字符串的方法,通常用于调试和错误输出。它至少接受一个参数 object,即要转换的对象。 
showHidden 是一个可选参数,如果值为 true,将会输出更多隐藏信息。
depth 表示最大递归的层数,如果对象很复杂,你可以指定层数以控制输出信息的多少。

如果不指定depth,默认会递归2层,指定为 null 表示将不限递归层数完整遍历对象。
如果color 值为 true,输出格式将会以ANSI 颜色编码,通常用于在终端显示更漂亮的效果。
特别要指出的是,util.inspect 并不会简单地直接把对象转换为字符串,即使该对象定义了toString 方法也不会调用

util.isArray()

util.isRegExp()

util.isDate()

util.isError()

util.format()

util. debug()

 

posted @ 2014-08-10 14:39  tchey  阅读(550)  评论(0编辑  收藏  举报