国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Node.js常用工具util

HackerShell / 2006人閱讀

摘要:是一個的核心模塊,提供常用函數(shù)的集合,用于彌補(bǔ)核心的功能過于精簡的不足。是一個將任意對象轉(zhuǎn)換為字符串的方法,通常用于調(diào)試和錯誤輸出。用于判斷是否為正則表達(dá)式,是返回,否則返回。

講講node常用工具util。 util是一個Node.js的核心模塊,提供常用函數(shù)的集合,用于彌補(bǔ)核心Javascript的功能過于精簡的不足。

util.inherits(constructor, superConstructor)是一個實(shí)現(xiàn)對象間繼承的函數(shù)。

JavaScript的面向?qū)ο筇匦允腔谠停ㄈ绻涣私庠妥约涸谌フ艺蚁嚓P(guān)文章補(bǔ)習(xí)一下),與常用的基于類不同。JavaScript沒有提供對象繼承的語言級別特性,而是通過原型復(fù)制來實(shí)現(xiàn)的。

先說說uril.inherits的用法,示例:

const 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)
const objBase = new Base()
objBase.showName()
objBase.sayHello()
console.log(objBase)
const objSub = new Sub()
objSub.showName()
console.log(objSub)

我們定義了一個基礎(chǔ)對象 Base 和一個繼承自 Base 的 Sub,Base 有三個在構(gòu)造函數(shù)內(nèi)定義的屬性和一個原型中定義的函數(shù),通過util.inherits 實(shí)現(xiàn)繼承。運(yùn)行結(jié)果如下:

可以看到,Sub僅僅繼承了Base在原型中定義的函數(shù),而貢棗函數(shù)內(nèi)部創(chuàng)造的Base屬性和sayHello函數(shù)都沒有被Sub繼承。同時,在原型中定義都屬性不回被console.log作為對象都屬性輸出。

util.inspect(object,[showHidden],[depth],[colors]):是一個將任意對象轉(zhuǎn)換為字符串的方法,通常用于調(diào)試和錯誤輸出。它至少接收一個參數(shù)object,即要轉(zhuǎn)換的對象。
showHidden是一個可選參數(shù),如果值為true,將會輸出更多隱藏信息,
depth表示最大遞歸的層數(shù),如果對象很復(fù)雜,你可以指定層數(shù),如果不指定,默認(rèn)會遞歸2層指定為null表示將不限遞歸層數(shù)完整的遍歷對象。如果color的值為true,輸出格式將會以ANSI顏色編碼,通常用于在終端現(xiàn)實(shí)出更漂亮的效果。
特別要指出的是,util.inspect并不會簡單地直接把對象轉(zhuǎn)換為字符串,即使該對象定義了toString方法也不會調(diào)用。

const util = require("util")

function Person() {
    this.name = "Sifou"
    this.toString = function() {
        return this.name
    }
}
const obj = new Person()
console.log(util.inspect(obj))
console.log(util.inspect(obj, true))

結(jié)果為:

util.isArray(object): 如果給定的參數(shù)object是一個數(shù)組返回true,否則返回false,用于判斷是否為數(shù)組。

var util = require("util");

util.isArray([])
  // true
util.isArray(new Array)
  // true
util.isArray({})
  // false

util.isRegExp(object) :用于判斷是否為正則表達(dá)式,是返回true,否則返回false。

var util = require("util");

util.isRegExp(/some regexp/)
  // true
util.isRegExp(new RegExp("another regexp"))
  // true
util.isRegExp({})
  // false

util.isDate() :判斷是否為日期,是返回true,否則返回false。

var util = require("util");

util.isDate(new Date())
  // true
util.isDate(Date())
  // false (without "new" returns a String)
util.isDate({})
  // false

util.inError(object) :如果給定的參數(shù)object是一個錯誤對象返回true,否則返回false。

var util = require("util");

util.isError(new Error())
  // true
util.isError(new TypeError())
  // true
util.isError({ name: "Error", message: "an error occurred" })
  // false

更多詳情可以訪問 http://nodejs.org/api/util.html 了解詳細(xì)內(nèi)容。

另外可以看看Underscore

Underscore.js是一個很精干的庫,壓縮后只有4KB。它提供了幾十種函數(shù)式編程的方法,彌補(bǔ)了標(biāo)準(zhǔn)庫的不足,大大方便了javaScript的編程。Underscore.js還可以用于Node.js。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/104594.html

相關(guān)文章

  • 了解可執(zhí)行的NPM包

    摘要:在源碼中也可以看到,在執(zhí)行之前動態(tài)的引入了這些解釋器模塊。因為認(rèn)為如果你要使用,那么一定會有對應(yīng)的依賴,這個模塊就是與同級的依賴,也就是說可以放心的進(jìn)行,大致這樣的結(jié)構(gòu)的位置在這里執(zhí)行腳本以及一個相反的栗子 NPM是Node.js的包管理工具,隨著Node.js的出現(xiàn),以及前端開發(fā)開始使用gulp、webpack、rollup以及其他各種優(yōu)秀的編譯打包工具(大多數(shù)采用Node.js來實(shí)...

    MingjunYang 評論0 收藏0
  • [譯] Node.js 8: util.promisify()

    摘要:例如,的回調(diào)函數(shù)包含下面幾個參數(shù)轉(zhuǎn)換成之后,它的參數(shù)將會變成這樣一個對象通過內(nèi)部符號處理非標(biāo)準(zhǔn)回調(diào)函數(shù)。 Nodejs 8 有一個新的工具函數(shù) util.promisify()。他將一個接收回調(diào)函數(shù)參數(shù)的函數(shù)轉(zhuǎn)換成一個返回Promise的函數(shù)。 1、util.promisify()小例子 如果你給以下命令傳入文件路徑,則會輸出文件內(nèi)容 // echo.js const {promis...

    Shimmer 評論0 收藏0
  • Node.js 開發(fā)指南 讀書筆記

    摘要:為指定事件注冊一個監(jiān)聽器,接受一個字符串和一個回調(diào)函數(shù)。發(fā)射事件,傳遞若干可選參數(shù)到事件監(jiān)聽器的參數(shù)表。為指定事件注冊一個單次監(jiān)聽器,即監(jiān)聽器最多只會觸發(fā)一次,觸發(fā)后立刻解除該監(jiān)聽器。 1.Node.js 簡介 Node.js 其實(shí)就是借助谷歌的 V8 引擎,將桌面端的 js 帶到了服務(wù)器端,它的出現(xiàn)我將其歸結(jié)為兩點(diǎn): V8 引擎的出色; js 異步 io 與事件驅(qū)動給服務(wù)器帶來極高...

    CocoaChina 評論0 收藏0
  • 舒適的前端開發(fā)環(huán)境是怎樣一種體驗?

    摘要:那我們有沒有辦法不刷新頁面又能看到代碼的更新呢其實(shí)很簡單,因為已經(jīng)內(nèi)置了這樣的功能,我們只要配置下的注意到上面的代碼,我們增加了,讓開發(fā)環(huán)境有了熱更新的能力。 作者:Nicolas (滬江Web前端)本文為原創(chuàng)文章,轉(zhuǎn)載請注明作者及出處 本文的 webpack 代碼示例根據(jù) webpack 2.7.0 編寫,并在 Mac 上正常運(yùn)行。 去年一篇《在 2016 年學(xué) JavaScript...

    weapon 評論0 收藏0
  • 面試深入一、ES6模塊化、安裝和打包

    摘要:開發(fā)環(huán)境已經(jīng)普及使用瀏覽器環(huán)境卻支持不好需要開發(fā)環(huán)境編譯內(nèi)容很多,重點(diǎn)了解常用語法面試開發(fā)環(huán)境的使用重點(diǎn)語法的掌握問題模塊化如何使用,開發(fā)環(huán)境如何打包和普通構(gòu)造函數(shù)有何區(qū)別的基本使用和原理總結(jié)一下其他常用功能模塊化的基本語法開發(fā)環(huán)境電腦有 ES6 開發(fā)環(huán)境已經(jīng)普及使用 瀏覽器環(huán)境卻支持不好(需要開發(fā)環(huán)境編譯) 內(nèi)容很多,重點(diǎn)了解常用語法 面試:開發(fā)環(huán)境的使用 + 重點(diǎn)語法的掌握 ...

    verano 評論0 收藏0

發(fā)表評論

0條評論

HackerShell

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<