nodeJS入門例子一 工具(util)

2021-06-02 10:30:22 字數 3773 閱讀 4457

util

util.format()

util.debug(string)

util.log(string)

util.inspect(object, showhidden=false, depth=2)

util.isarray(object)

util.isregexp(object)

util.isdate(object)

util.iserror(object)

util.pump(readablestream, writablestream, [callback])

util.inherits(constructor, superconstructor)

這些功能函式都放置在模組'util'。中,使用 require('util')訪問。

返回格式化過的第乙個引數的字串,與printf類似。

如果佔位符沒有相應的引數,這個佔位符將不會被替換。

util.

format

('%s:%s'

,'foo'

);// 'foo:%s'

如果引數個數多餘佔位符個數,多餘的引數將使用util.inspect()轉換成字串後追加到第乙個引數字串後。

util.

format

('%s:%s'

,'foo'

,'bar'

,'baz'

);// 'foo:bar baz'

如果當前沒有需要格式化的引數。將返回所有引數組合而成的字串,組合字串中間以空格分開。使用util.inspect()轉換成字串。

util.

format(1

,2,3

);// '1 2 3'

乙個同步輸出函式。當遇到標準錯誤(stderr)時過程(process)和輸出(output)將被阻塞。

require

('util'

).debug

('message on stderr'

);

帶有時間戳的標準輸出。

require

('util'

).log

('timestamped message.'

);輸出如下:

7 dec 00:24:04 - ss

返回物件的字串形式,在除錯中很有用。

如果 showhidden 為 true, 物件的非列舉型別屬性將顯示。

如果 depth的值提供了,他告訴inspect格式化物件時多少次遞迴。檢查大型複雜的物件,這是有用的。

預設遞迴為兩次。傳遞null值給depath使其無限遞迴。

var util =

require

('util'

);console.

log(util.

inspect

(util,

true

,null

));

返回給定的物件object是否是陣列。

var util =

require

('util'

);util.

isarray

()// true

util.

isarray

(new

array

)// true

util.

isarray({}

)// false

判斷給定物件是不是正規表示式。

var util =

require

('util'

);util.

isregexp

(/some regexp/

)// true

util.

isregexp

(new

regexp

('another regexp'

))// true

util.

isregexp({}

)// false

判斷給定物件是否是日期

var util =

require

('util'

);util.

isdate

(new

date

())// true

util.

isdate

(date

())// false (沒有 'new' 返回乙個 string)

util.

isdate({}

)// false

判斷乙個物件是否是乙個error

var util =

require

('util'

);util.

iserror

(new

error

())// true

util.

iserror

(new

typeerror

())// true

util.

iserror()

// false

實驗

readablestream讀取資料併發送到writablestream中,當writablestream.write(data)返回 falsereadablestream將暫停直到writablestream.callback的drain錯誤處理函式發生呼叫。

從乙個建構函式中繼承另乙個的原生方法。當乙個新物件建立時,將從父建構函式(超類)中設定建構函式的原生態。

作為乙個額外的便利,將通過構造訪問超類.super_property.

var util =

require

("util"

);var events =

require

("events"

);function

mystream

()util.

inherits

(mystream, events.eventemitter);

mystream.

prototype

.write =

function

(data)

var stream =

newmystream

();console.

log(stream instanceof events.eventemitter);

// true

console.

log(mystream.super_ === events.eventemitter);

// true

stream.on(

"data"

,function

(data)

)stream.

write

("it works!"

);// received data: "it works!"

nodeJS入門例子一 全域性物件

這些物件在所有模組中可用。實際上其中某些物件可以使用在模組範圍但不適用於全域性範圍,這些將另行通知。全域性命名空間物件 the global namespace object.在瀏覽器中,最高層的範圍 top level scope 是全域性範圍 global scope 意思就是說如果你在瀏覽器的...

nodeJs入門筆記 一

node將 http伺服器 這一層抽離,直接面向瀏覽器使用者 如php執行之前先要配置乙個功能強大而複雜的http 伺服器,譬如apache iis 或nginx,還需要將php 配置為http 伺服器的模組,或者使用fastcgi 協議呼叫php 直譯器。這種架構是 瀏覽器 http 伺服器 ph...

dubbo 入門例子(dubbo一)

registry註冊中心 provider服務中心 consumer消費中心 專案搭建過程 dubbo demo dubbo order dubbo order api dubbo order provider dubbo user dubbo user api dubbo user provide...