NodeJS---GlobalObjects

http://nodejs.org/api/all.html#all_https


關於這篇文檔

       這篇文檔的目的是從參考和概念的角度來描述理解nodejs的api,每個章節描述了一個內置的模塊或者更高等的概念

       在適當的情況下,屬性,方法,參數和提供給時間處理程序的參數在主標題下被詳細列出,每一個html文檔擁有一個對應的json文檔在一個結構體的形式中描繪相同的信息,這種特點是實驗性的並且和該文檔一起添加到了開發平臺和公共設備上

 

       每一個html和json文件一般是基於node樹下的doc/api/.markdown文件。這篇文檔一般用tools/doc/generate.js程序. Html模板存儲在doc/template.html

索引

     通過本文檔,你將會發現每個章節的指示。Nodejs的api一直在稍微的更改。並且它的成熟確定的板塊比其他的更加可靠。其中一些是被證明的,費城可靠

他們看上去並不像經常被更改的。另一些標記着新和實驗性的,是有危險的,在進程中需要重定義

 

穩定性指標如下

       Stability: 0 – 棄用

              這些功能被認爲是有問題的,並且被有計劃的更改,不要用他們,用這些功能會引起一些警告,逆向的兼容性是不被希望的

       Stability:1 實驗性的

              這些功能最近被介紹,並且可能在未來的版本改動或者移除,請嘗試他們並反饋,如果他們的用例對你很重要,請告訴node的核心團隊

       Stability:2 不穩定的

這些api正在不斷的積累的過程中,但是並沒有足夠的事實證實他們足夠大的穩定,如果他們是合理的那麼向後將會兼容他們

       Stability: 3 穩定的

這些api已經被證實是滿意的,但是清理一些潛在的小代碼可能會造成一些小幅度的修改,向後兼容是可以保證的

       Stability:4 確定的api

這些api在產品中已經被詳盡的測試,並且不出現大的問題不會被更改

       Stability:5 不可變動的api

除非極少的bug被發現,這些代碼幾乎不會改變。請不要在這些代碼中更改,他們不會被修改

 

Json 輸出

       Stability:1 實驗性的

每一個html文件在markdown都有一個擁有一致數據的json文件

這些功能在nodev0.6.12更新的,他們是實驗性的

大綱

 

用node編寫的webserver示例將會輸出”Hello World”

 

運行這個服務,將這段代碼寫入example.js,並且用node程序執行

//所有的在這個文檔中的示例都是這樣簡單的運行

 

總體的對象

這些對象在所有的模塊中都是可以用的,他們中的一些並不是在全局的範圍內而是在一些模塊中,他們將會被標記出來

 

global

.{Object}全局的對象命名空間

在瀏覽器中,最最頂層的範圍是全局範圍,這意味着在瀏覽器中,如果你在全局範圍內 var something將會定義一個全局的變量。在node中這是不一樣的,最頂層範圍並不是全局範圍,在一個node模塊中varsomething將會本地化該模塊

 

Process

.{Object}

該類,請查看process 對象章節

 

console

.{Object}

經常用來打印到標準輸出或者錯誤輸出,請查看console章節

 

Class:Buffer

.{Function}

經常是二進制數據的句柄,查看buffer章節

 

require()

.{Function}

請求模塊,查看modules章節,require並不是一個全局的卻是每個模塊都本地化的

 

require.resolve()

用本地的require機械的尋找並本地化一個模塊,並不是加載這個模塊,僅僅返回這個解析的文件名

 

return.cache

.{Object}

模塊在被請求的時候將會存儲在這個對象中,通過從這個對象中刪除一個鍵值,下一個請求將會重新加載這個模塊

 

require.extensions

Stability:0  棄用的

.{Object}

指示require怎樣解決特定的文件擴展

進程文件把.sjs當做,js

在以前被棄用,這個列表用來不是javascript模塊通過編譯命令加載進入node,然而,在實踐中,有很多更好的方法做到這一點,比如加載一些其他的node程序模塊,或者編譯他們成javascript、

自從這個模塊被鎖上之後,這個功能不會被刪除,然而他可能會導致很多不易發現的bug而且複雜的東西最好不要用

 

_filename

.{String}

該文件名的代碼已經被執行過,這是解決這個代碼文件的確定路徑,對於一個主程序來說,這不是必須的,這個文件名一般用在命令行中,在模塊中的變量是那個模塊文件的路徑

_filename並不是一個全聚德但是是每一個模塊都本地化的

 

_dirname

.{String}

這個名字是正確的被編譯的目錄名

_dirname不是一個全局的而是每個模塊本地化得

 

module

.{Object}

引用當前的模塊,特別的,module.exports和exprts對象是一樣的。Module不是全局的,而是每個模塊實例化得

查看module系統文檔獲取更多的信息

 

exports

 

一個在所有正確的模塊實例之間共享並且可以獲取require的module.exports的引用,查看module系統文檔獲取更加詳細的信息

 

setTimeout(cb, ms)

運行回調函數cb 在ms毫秒之後,確切的延遲由外部的環境確定比如系統延遲保證和系統加載

延遲時間必須在1-2147 483647之間,如果這個值不在這個範圍內,他將會自動默認1,

一般的說,一個時間不會超過24.8天

返回一個不確定的值代表這個時間

 

ClearTimeout(t)

停止由setTimeout()創建的時間值,回調函數將不會被調用

 

setInterval(cb, ms)

重複運行回調函數每ms毫秒,這個間隔時間可能會不同,由外部環境比如操作系統定時器或者系統加載等決定,他不能比ms小但是可能會很長,這個間隔值必須在1-2147483647之間,如果這個值不在這個範圍,將默認爲1,一般說這個值不會比24.8天更大,

返回一個不確定的值代表這個時間

ClearInterval(t)

停止由setInterval()創建的定時器,回調函數將不會被調用,這個定時器函數是全局變量,請查看timer章節

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章