IO.js Globals

2018-11-28 22:34 更新

這些對象是所有模塊都可用的。其中的一些對象不是真正的在全局作用域內(nèi),而是在模塊作用域內(nèi) - 它將會在文檔中被指出。

global

  • {Object} 全局命名空間對象。

在瀏覽器,頂級作用域是全局作用域。這意味著在瀏覽器的全局作用域中,你創(chuàng)建了一個對象那么就是定義了一個全局對象。在io.js中是不同的,頂級作用域不是全局作用域,在io.js的模塊中創(chuàng)建的對象只屬于那個模塊。

process

  • {Object}

進程對象。參閱process章節(jié)。

console

  • {Object}

被用來向stdoutstderr打印信息。參閱console章節(jié)。

Class: Buffer

  • {Function}

被用來處理二進制數(shù)據(jù)。參閱buffer章節(jié)。

require()

  • {Function}

用來引入模塊。參閱Modules章節(jié)。require實際上不是全局的,而是每個模塊本地的。

require.resolve()

使用內(nèi)部require()機制來查找模塊位置,但是只返回被解析的模塊路徑,而不是加載模塊。

require.cache

  • Object

當(dāng)模塊被引入時,模塊在這個對象中被緩存。通過刪除這個對象的鍵值,下一次引入會重新加載模塊。

require.extensions

穩(wěn)定度: 0 - 棄用

  • Object

指示require方法如何處理特定的文件擴展名。

將擴展名為.sjs的文件當(dāng)做.js文件處理:

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

在被棄用之前,這個列表被用于按需編譯非JavaScript模塊并加載入io.js。但是,在實踐中,有更好地方法來實現(xiàn)這個功能,如使用其他的io.js程序來加載模塊,或在預(yù)編譯為JavaScript

由于模塊系統(tǒng)的API已被鎖定,這個特性可能永遠不會被去處。但是它可能有細微的bug和額外的復(fù)雜性,所以最好不要再使用它。

__filename

  • {String}

當(dāng)前被指定的代碼的文件名。它被解析為絕對路徑。對于主程序,它可能與命令行中使用的文件路徑是不同的。在模塊內(nèi)這個值是該模塊文件的路徑。

例子:在/Users/mjr目錄中執(zhí)行iojs example.js

console.log(__filename);
// /Users/mjr/example.js

__filename實際上不是全局的,而是每個模塊本地的。

__dirname

  • {String}

當(dāng)前執(zhí)行腳本所在的目錄名。

例子:在/Users/mjr目錄中執(zhí)行iojs example.js

console.log(__dirname);
// /Users/mjr

__dirname實際上不是全局的,而是每個模塊本地的。

module

  • {Object}

當(dāng)前模塊的一個引用。特別的,module.exports被用來指定模塊需要對外暴露的東西,這些東西可以通過require()取得。

module實際上不是全局的,而是每個模塊本地的。

更多信息請參閱模塊系統(tǒng)文檔。

exports

module.exports的一個快捷引用。對于何時使用exports,何時使用module.exports,請參閱模塊系統(tǒng)文檔。

exports實際上不是全局的,而是每個模塊本地的。

更多信息請參閱模塊系統(tǒng)文檔。

更多信息請參閱module章節(jié)。

setTimeout(cb, ms)

在至少ms毫秒后,執(zhí)行回調(diào)函數(shù)cb。實際的延時依賴于外部因素,如操作系統(tǒng)的定時器粒度和系統(tǒng)負載。

超時時間必須在1到2,147,483,647之間。如果超過了這個范圍,它會被重置為1毫秒。換句話說,定時器的跨度不可以超過24.8天。

返回一個代表此定時器的句柄值。

clearTimeout(t)

停止一個之前通過setTimeout()創(chuàng)建的定時器。它的回調(diào)函數(shù)將不會執(zhí)行。

setInterval(cb, ms)

ms毫秒的間隔,重復(fù)地執(zhí)行回調(diào)函數(shù)cb。實際的間隔可能會有浮動,這取決于外部因素,如操作系統(tǒng)的定時器粒度和系統(tǒng)負載。它永遠不會比ms短只會比它長。

間隔值必須在1到2,147,483,647之間。如果超過了這個范圍,它會被重置為1毫秒。換句話說,定時器的跨度不可以超過24.8天。

返回一個代表此定時器的句柄值。

clearInterval(t)

停止一個之前通過setInterval()創(chuàng)建的定時器。它的回調(diào)函數(shù)將不會執(zhí)行。

定時器函數(shù)都是全局變量。參閱定時器章節(jié)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號