1. 程式人生 > >node 核心模組util

node 核心模組util

inherits 方式繼承物件

/**
 * 
 * nodejs 核心模組之util
 * 主要提供常用函式集合,彌補核心JavaScript的功能過於精簡的不足。
 * 
 */
var util = require('util');

//inherits  實現物件原型繼承
function Base() {
    this.name = 'base';
    this.hello = function () {
        console.log('htllo');

    }
}

Base.prototype.age = 20;

Base.prototype.myName = function () {
    console.log(this.name);

}

function Sub() {
}


//繼承原型
util.inherits(Sub, Base);

var objBase = new Base();

objBase.myName();

var subBase = new Sub();
subBase.myName();
console.log(subBase.age);

subBase.hello();

執行結果

注:上面的程式碼和執行結果說明在使用interits這種方式 繼承僅僅繼承了物件在原型中定義的函式和屬性,而建構函式內部的原型和輸出並未被繼承。

inspect 物件轉字串

加入程式碼

/**
 * 
 * inspect  物件轉字串
 * 
 * 
 */

console.log(util.inspect(objBase, true, null, true));
console.log(util.inspect(subBase, true, null, true));

執行結果: 

結果中只有構造物件被輸出,原型物件沒被輸出。 

引數釋義:

  • obj 要轉換的物件
  • showhidden 是否顯示隱藏的資訊
  • depth 表示遞迴層數,預設2,可以指定,如果為null就會遍歷整個物件資訊輸出。
  • colors 如果為true 輸出格式將以ANSI顏色編碼

其他函式

  • isArray 判斷物件是否為一個數組
  • isRegExp 判斷引數是否為一個正則表示式
  • isDate 判斷物件是否為一個日期
  • isError 判斷物件是否為一個錯誤物件