這些對象是所有模塊都可用的。其中的一些對象不是真正的在全局作用域內,而是在模塊作用域內 - 它將會在文檔中被指出。
#### global
- {Object} 全局命名空間對象。
在瀏覽器,頂級作用域是全局作用域。這意味著在瀏覽器的全局作用域中,你創建了一個對象那么就是定義了一個全局對象。在`io.js`中是不同的,頂級作用域不是全局作用域,在`io.js`的模塊中創建的對象只屬于那個模塊。
#### process
- {Object}
進程對象。參閱`process`章節。
#### console
- {Object}
被用來向`stdout`和`stderr`打印信息。參閱`console`章節。
#### Class: Buffer
- {Function}
被用來處理二進制數據。參閱`buffer`章節。
#### require()
- {Function}
用來引入模塊。參閱`Modules`章節。`require`實際上不是全局的,而是每個模塊本地的。
#### require.resolve()
使用內部`require()`機制來查找模塊位置,但是只返回被解析的模塊路徑,而不是加載模塊。
#### require.cache
- Object
當模塊被引入時,模塊在這個對象中被緩存。通過刪除這個對象的鍵值,下一次引入會重新加載模塊。
#### require.extensions
穩定度: 0 - 棄用
- Object
指示`require`方法如何處理特定的文件擴展名。
將擴展名為`.sjs`的文件當做`.js`文件處理:
~~~
require.extensions['.sjs'] = require.extensions['.js'];
~~~
在被棄用之前,這個列表被用于按需編譯非`JavaScript`模塊并加載入`io.js`。但是,在實踐中,有更好地方法來實現這個功能,如使用其他的`io.js`程序來加載模塊,或在預編譯為`JavaScript`。
由于模塊系統的API已被鎖定,這個特性可能永遠不會被去處。但是它可能有細微的bug和額外的復雜性,所以最好不要再使用它。
#### __filename
- {String}
當前被指定的代碼的文件名。它被解析為絕對路徑。對于主程序,它可能與命令行中使用的文件路徑是不同的。在模塊內這個值是該模塊文件的路徑。
例子:在`/Users/mjr`目錄中執行`iojs example.js`
~~~
console.log(__filename);
// /Users/mjr/example.js
~~~
`__filename`實際上不是全局的,而是每個模塊本地的。
#### __dirname
- {String}
當前執行腳本所在的目錄名。
例子:在`/Users/mjr`目錄中執行`iojs example.js`
~~~
console.log(__dirname);
// /Users/mjr
~~~
`__dirname`實際上不是全局的,而是每個模塊本地的。
#### module
- {Object}
當前模塊的一個引用。特別的,`module.exports`被用來指定模塊需要對外暴露的東西,這些東西可以通過`require()`取得。
`module`實際上不是全局的,而是每個模塊本地的。
更多信息請參閱模塊系統文檔。
#### exports
`module.exports`的一個快捷引用。對于何時使用`exports`,何時使用`module.exports`,請參閱模塊系統文檔。
`exports`實際上不是全局的,而是每個模塊本地的。
更多信息請參閱模塊系統文檔。
更多信息請參閱`module`章節。
#### setTimeout(cb, ms)
在至少`ms`毫秒后,執行回調函數`cb`。實際的延時依賴于外部因素,如操作系統的定時器粒度和系統負載。
超時時間必須在1到2,147,483,647之間。如果超過了這個范圍,它會被重置為1毫秒。換句話說,定時器的跨度不可以超過24.8天。
返回一個代表此定時器的句柄值。
#### clearTimeout(t)
停止一個之前通過`setTimeout()`創建的定時器。它的回調函數將不會執行。
#### setInterval(cb, ms)
以`ms`毫秒的間隔,重復地執行回調函數`cb`。實際的間隔可能會有浮動,這取決于外部因素,如操作系統的定時器粒度和系統負載。它永遠不會比`ms`短只會比它長。
間隔值必須在1到2,147,483,647之間。如果超過了這個范圍,它會被重置為1毫秒。換句話說,定時器的跨度不可以超過24.8天。
返回一個代表此定時器的句柄值。
#### clearInterval(t)
停止一個之前通過`setInterval()`創建的定時器。它的回調函數將不會執行。
定時器函數都是全局變量。參閱定時器章節。