国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

nodejs基礎之常用工具模塊util用法分析

2024-05-06 16:47:18
字體:
來源:轉載
供稿:網友

本文實例講述了nodejs基礎之常用工具模塊util用法。分享給大家供大家參考,具體如下:

util是nodejs的核心模塊,提供常用函數的集合,用戶彌補核心javascript的功能過于精簡的不足

util.inherits

是一個實現對象間原型繼承的函數

javascript的面向對象特性是基于原型的,與常見的基于類的不同。javascript沒有提供對象繼承的語言級別特性,而是通過原型復制來實現的。

示例:

var util = require('util');function Father(){  //在構造函數內部定義,不能被繼承  this.name = 'base';  //在構造函數內部定義,不能被繼承  this.birth = 1991;  //在構造函數內部定義,不能被繼承  this.sayHello = function(){    console.log('hello'+this.name);  }}//在原型中定義,可以被繼承Father.prototype.age=18;//在原型中定義,可以被繼承Father.prototype.showName = function(){  console.log(this.name);  console.log(this.age);}//在原型中定義,可以被繼承Father.prototype.showAge = function(){  console.log(this.age);}function Son(){}util.inherits(Son,Father);var objBase = new Father();objBase.showName();objBase.sayHello();console.log(objBase);var objSub = new Son();objSub.showAge();

我們定義了一個基礎對象Father 和一個繼承自Father 的Son,Father 在構造函數內定義兩個屬性(name,birth)和一個函數(sayHello);在原型中定義一個屬性(age)和兩個函數(showName,showAge),通過util.inherits 實現繼承。

注意:

Son僅僅繼承了Father 在原型中定義的函數,而構造函數內部創造的 Father 屬 性和 sayHello 函數都沒有被 Son繼承。

同時,在原型中定義的屬性不會被console.log 作 為對象的屬性輸出。

util.inspect

util.inspect(object,[showHidden],[depth],[colors])是一個將任意對象轉換 為字符串的方法,通常用于調試和錯誤輸出。它至少接受一個參數 object,即要轉換的對象。

  • showHidden 是一個可選參數,如果值為 true,將會輸出更多隱藏信息。
  • depth 表示最大遞歸的層數,如果對象很復雜,你可以指定層數以控制輸出信息的多 少。如果不指定depth,默認會遞歸2層,指定為 null 表示將不限遞歸層數完整遍歷對象。 如果color 值為 true,輸出格式將會以ANSI 顏色編碼,通常用于在終端顯示更漂亮 的效果。

特別要指出的是,util.inspect 并不會簡單地直接把對象轉換為字符串,即使該對 象定義了toString 方法也不會調用。

示例:

var util = require('util');function Person() {  this.name = 'byvoid';  this.toString = function() {  return this.name;  };}var obj = new Person();console.log(util.inspect(obj));console.log(util.inspect(obj, true));

結果:

{ name: 'byvoid', toString: [Function] }
{ toString:
{ [Function]
[prototype]: { [constructor]: [Circular] },
[caller]: null,
[length]: 0,
[name]: '',
[arguments]: null },
name: 'byvoid' }

util.isArray(object)

如果給定的參數 "object" 是一個數組返回true,否則返回false。

var util = require('util');util.isArray([])// trueutil.isArray(new Array)// trueutil.isArray({})// false

util.isRegExp(object)

如果給定的參數 "object" 是一個正則表達式返回true,否則返回false。

var util = require('util');util.isRegExp(/some regexp/)// trueutil.isRegExp(new RegExp('another regexp'))// trueutil.isRegExp({})// false

util.isDate(object)

如果給定的參數 "object" 是一個日期返回true,否則返回false。

var util = require('util');util.isDate(new Date())// trueutil.isDate(Date())// false (without 'new' returns a String)util.isDate({})// false

util.isError(object)

如果給定的參數 "object" 是一個錯誤對象返回true,否則返回false。

var util = require('util');util.isError(new Error())// trueutil.isError(new TypeError())// trueutil.isError({ name: 'Error', message: 'an error occurred' })// false

希望本文所述對大家nodejs程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 进贤县| 滦平县| 颍上县| 河北省| 尼木县| 奈曼旗| 大埔县| 四平市| 上犹县| 阿坝县| 九寨沟县| 静海县| 鹰潭市| 永吉县| 镇雄县| 高碑店市| 简阳市| 安康市| 桦南县| 阆中市| 故城县| 太谷县| 郓城县| 巴南区| 揭西县| 孟津县| 湖南省| 永济市| 和顺县| 临夏县| 新泰市| 承德市| 浦北县| 苍山县| 天峨县| 平南县| 万全县| 永定县| 色达县| 徐水县| 全州县|