Node.js API —— Global Objects(全局對象)

 // 說明
    Node API 版本爲 v0.10.31。
    中文參考:http://blog.sina.com.cn/oleoneoy
    本段爲博主註解。

目錄

● 全局對象
    ○ global
    ○ process
    ○ console
    ○ Class: Buffer
    ○ require()
        ■ require.resolve() 
        ■ require.cache
        ■ require.extensions
    ○ __filename
    ○ __dirname
    ○ module
    ○ exports
    ○ setTimeout(cb, ms)
    ○ clearTimeout(t)
    ○ setInterval(cb, ms)
    ○ clearInterval(t)

全局對象

    這些對象都是在全部模塊中可用的。其中一些並不真正地在全局做用域中,只是在模塊做用域中——這是值得注意的。

global

    ● {對象類型} 全局命名空間對象
    在瀏覽器中,頂層做用域就是 global 做用域。這意味着在瀏覽器當中若是你在全局做用域使用 var something 將會定義一個全局變量。在 Node 中與之不一樣。頂層做用域不是全局做用域;在 Node 模塊中 var something 將會成爲那個模塊的局部變量。

process

    ● {對象類型}
    進程對象。參看進程對象小節。

console

    ● {對象類型}
    用來向標準輸出和標準錯誤輸出打印。參看控制檯小節。

Class: Buffer

    ● {函數類型}
    用來處理二進制數據。參看緩衝區小節 。

require()

    ● {函數類型} 
    用來引用模塊。參看模塊小節。require 不是真正的全局變量而是每一個模塊都有的局部變量。node

require.resolve()

    使用內部的 require() 構件查找模塊的位置 ,而不是加載模塊。只是返回絕對路徑文件名。 瀏覽器

require.cache

    ● {對象類型} 
    當模塊被引入以後,它們被緩存到這個對象裏面。經過從這個對象刪除一個鍵值對,下一次 require 將從新加載模塊。緩存

require.extensions

穩定性:0 - 反對

    ● {對象類型} 
    指引 require 怎樣處理某些特定的文件擴展名。函數

 1 require.extensions['.sjs'] = require.extensions['.js']; 

     反對 過去,這一條目用於在 Node 中即時加載非 JavaScript 模塊。然而,實踐當中,有不少更好的辦法來作這樣的事情,好比經過一些其餘程序加載模塊,或提早將它們編譯成 JavaScript。
     由於模塊系統已被鎖定,這一特性極可能永遠不會移除。然而,它有一些微妙的 bug 和複雜性,最好將它放到一邊不要觸碰。ui

__filename

    ● {字符串類型} 
    正在被執行的代碼所在的文件名。這是該代碼所在文件的絕對路徑。對主程序來講這是不必的,它與在命令行中的文件名相同。可該值在模塊當中是該模塊文件的絕對路徑。
    例子:在目錄 /User/mjr 中運行 node example.jsspa

1 console.log(__filename);
2 // /User/mjr/example.js

    __filename 不是真正的全局變量而是每一個模塊都有的局部變量。操作系統

__dirname

    ● {字符串類型} 
    當前正在被執行的腳本所在的目錄名。
    例子:在目錄 /User/mjr 中運行 node example.js 命令行

1 console.log(__dirname);
2 // /User/mjr

     __dirname 不是真正的全局變量而是每一個模塊都有的局部變量。code

 module

    ● {對象類型} 
    一個指向當前模塊的引用。特別地, module.exports 用來定義模塊導出什麼並經過 require() 可用。
    module 不是真正的全局變量而是每一個模塊都有的局部變量。
    更多信息參看模塊系統文檔對象

 exports

    一個指向 module.exports 的引用 ,更短更方便打字輸入。關於何時使用 exports 何時使用 module.exports 的細節參看模塊系統文檔
    exports 不是真正的全局變量而是每一個模塊都有的局部變量。 
    更多信息參看模塊系統文檔。 
    更多信息參看模塊小節

 setTimeout(cb, ms)

    在至少 ms 毫秒後執行回調函數 cb。實際的延遲取決於外部的因素,例如操做系統時鐘間隔和系統負荷。
    延時必須在1-2,147,483,647範圍內,包括此兩個值在內。若是值超出了這個範圍,它將被轉換成1毫秒。寬泛地說,一個定時器不能跨越超過24.8天。
    返回一個表明該定時器的不透明的值。

 clearTimeout(t)

    中止一個以前用 setTimeout() 建立的定時器。定時器的回調函數將再也不被執行。

 setInterval(cb, ms)

    每隔 ms 毫秒重複地執行回調函數 cb。注意實際的間隔可能會變化,取決於外部的因素,例如操做系統時鐘間隔和系統負荷。它絕對不會短於 ms 但可能更長。
    返回一個表明該定時器的不透明的值。 

 clearInterval(t)

    中止一個以前用 setInterval() 建立的定時器。定時器的回調函數將再也不被執行。 

    定時器函數都是全局變量。參看 timers 小節。

相關文章
相關標籤/搜索