🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 全局对象 这些对象在所有模块中都是可用的。有些对象实际上并非在全局作用域内而是在模块作用域内——这种情况在以下文档中会特别指出。 ### global - {Object} 全局命名空间对象。 在浏览器中,顶级作用域就是全局作用域。这就是说,在浏览器中,如果当前是在全局作用域内,`var something`将会声明一个全局变量。在Node中则不同。顶级作用域并非全局作用域,在Node模块里的`var something`只属于那个模块。 ### process - {Object} 进程对象。见 [进程对象](#)章节。 ### console - {Object} 用于打印标准输出和标准错误。见[控制台](#)章节。 ### 类: Buffer - {Function} 用于处理二进制数据。见[Buffer](#)章节。 ### require() - {Function} 引入模块。见[Modules](#)章节。`require`实际上并非全局的而是各个模块本地的。 ### require.resolve() 使用内部的`require()`机制查找模块的位置,但不加载模块,只返回解析过的模块文件路径。 ### require.cache - {Object} 模块在引入时会缓存到该对象。通过删除该对象的键值,下次调用`require`时会重新加载相应模块。 ### require.extensions ~~~ 稳定度:0 - 已废弃 ~~~ - {Object} 指导`require`方法如何处理特定的文件扩展名。 将`.sjs`文件作为`.js`文件处理: ~~~ require.extensions['.sjs'] = require.extensions['.js']; ~~~ **已废弃** 之前,该列表用于按需编译非JavaScript模块并加载进Node。然而,实践中有更好的方式实现该功能,如通过其他Node程序加载模块,或提前将他们编译成JavaScript代码。 由于模块系统的API已锁定,该功能可能永远不会去掉。改动它可能会产生细微的错误和复杂性,所以最好保持不变。 ### __filename - {String} 当前所执行代码文件的文件路径。这是该代码文件经过解析后的绝对路径。对于主程序来说,这和命令行中使用的文件路径未必是相同的。在模块中此变量值是该模块文件的路径。 例子:在`/Users/mjr`下运行`node example.js` ~~~ console.log(__filename); // /Users/mjr/example.js ~~~ `__filename`实际上并非全局的而是各个模块本地的。 ### __dirname - {String} 当前执行脚本所在目录的目录名。 例子:在`/Users/mjr`下运行`node example.js` ~~~ console.log(__dirname); // /Users/mjr ~~~ `__dirname`实际上并非全局的而是各个模块本地的。 ### module - {Object} 当前模块的引用。特别地,`module.exports`和`exports`指向同一个对象。`module`实际上并非全局的而是各个模块本地的。 详情可见[模块系统文档](#)。 ### exports `module.exports`对象的引用,该对象被当前模块的所有实例所共享,通过`require()`可访问该对象。 何时使用`exports`以及何时使用`module.exports`的详情可参见[模块系统文档](#)。 `exports`实际上并非全局的而是各个模块本地的。 详情可见[模块系统文档](#)。 关于模块系统的更多信息可参见[模块](#) 。 ### setTimeout(cb, ms) 在*至少*`ms`毫秒后调用回调`cb`。实际延迟取决于外部因素,如操作系统定时器粒度及系统负载。 超时值必须在1-2147483647的范围内(包含1和2147483647)。如果该值超出范围,则该值被当作1毫秒处理。一般来说,一个定时器不能超过24.8天。 返回一个代表该定时器的句柄值。 ### clearTimeout(t) 停止一个之前通过`setTimeout()`创建的定时器。回调不会再被执行。 ### setInterval(cb, ms) 每隔`ms`毫秒重复调用回调`cb`。注意,取决于外部因素,如操作系统定时器粒度及系统负载,实际间隔可能会改变。它不会少于`ms`但可能比`ms`长。 间隔值必须在1-2147483647的范围内(包含1和2147483647)。如果该值超出范围,则该值被当作1毫秒处理。一般来说,一个定时器不能超过24.8天。 返回一个代表该定时器的句柄值。 ### clearInterval(t) 停止一个之前通过`setInterval()`创建的定时器。回调不会再被执行。 定制器函数是全局变量。见[定时器](#)章节。