目录
● 全局对象○ 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
● {对象类型} 全局命名空间对象process
● {对象类型}进程对象。参看进程对象小节。
console
● {对象类型}用来向标准输出和标准错误输出打印。参看控制台小节。
Class: Buffer
● {函数类型}用来处理二进制数据。参看缓冲区小节 。
require()
● {函数类型}
用来引用模块。参看模块小节。require 不是真正的全局变量而是每个模块都有的局部变量。
require.resolve()
使用内部的 require() 构件查找模块的位置 ,而不是加载模块。只是返回绝对路径文件名。
require.cache
● {对象类型}
当模块被引入之后,它们被缓存到这个对象里面。通过从这个对象删除一个键值对,下一次 require 将重新加载模块。
require.extensions
稳定性:0 - 反对
● {对象类型}
指引 require 怎样处理某些特定的文件扩展名。
反对 过去,这一条目用于在 Node 中即时加载非 JavaScript 模块。然而,实践当中,有很多更好的办法来做这样的事情,比如通过一些其他程序加载模块,或提前将它们编译成 JavaScript。
因为模块系统已被锁定,这一特性很可能永远不会移除。然而,它有一些微妙的 bug 和复杂性,最好将它放到一边不要触碰。
__filename
● {字符串类型}
正在被执行的代码所在的文件名。这是该代码所在文件的绝对路径。对主程序来说这是没必要的,它与在命令行中的文件名相同。可该值在模块当中是该模块文件的绝对路径。
例子:在目录 /User/mjr 中运行 node example.js
1 console.log(__filename); 2 // /User/mjr/example.js
__filename 不是真正的全局变量而是每个模块都有的局部变量。
__dirname
● {字符串类型}
当前正在被执行的脚本所在的目录名。
例子:在目录 /User/mjr 中运行 node example.js
1 console.log(__dirname); 2 // /User/mjr
__dirname 不是真正的全局变量而是每个模块都有的局部变量。
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 小节。