Globals

最后更新于:2022-04-01 01:58:36

这些对象是所有模块都可用的。其中的一些对象不是真正的在全局作用域内,而是在模块作用域内 - 它将会在文档中被指出。 #### 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()`创建的定时器。它的回调函数将不会执行。 定时器函数都是全局变量。参阅定时器章节。
';