首页 > 代码库 > node.js javascript理解原型继承

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()