如今介紹Node.js經常使用工具util。
util做爲Node.js的一個核心模塊,可以提供經常使用函數的集合,彌補核心JavaScript的功能過於精簡的不足。
。。。
util.inherits
util.inherits(constructor, superConstructor)是一個實現對象間原型繼承的函數。
與常見的基於類的不一樣,JavaScript的面向對象特性是基於原型的。JavaScript沒有提供對象繼承的語言級別特性,而是經過原型複製來實現的。
在這裏咱們只介紹util.inherits的用法 http://www.iis7.com/a/lm/fwqdq/ IIS7服務器大全
注意:Sub僅僅繼承了Base在原型中定義的函數,而構造函數內部創造的base屬性和sayHello函數都沒有被Sub繼承。
同時,在原型中定義的屬性不會被console.log做爲對象的屬性輸出。若是咱們去掉objSub.sayHello(); 這行的註釋,
。。。
util.inspect
util.inspect(object,[showHidden],[depth],[colors])方法能夠將任意對象轉換爲字符串,一般用於調試和錯誤輸出。它至少接受一個object參數,即要轉換的對象。
showHidden是一個可選參數,若是值爲true,將會輸出更多隱藏信息。
depth表示最大遞歸的層數,若是對象很複雜,你能夠指定層數以控制輸出信息的多少。若是不指定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。正則表達式