所有属性都可以在程序的任何地方访问, 即全局变量. 在 JavaScript 中, 通常 Windows 是全局对象, 而 Node.JS 的全局对象是 global, 所有全局变量都是 global 对象的属性, 如: console,process 等.
global 最根本的作用是作为全局变量的宿主, 满足以下条件称为全局变量
在最外层定义的变量
全局对象的属性
隐式定义的变量
在 node 中不可能在最外层定义变量, 因为所有的用户代码都是属于当前模块的, 而模块本身是不属于最外层上下文的.
如果你正在使用一系列 node 模块, 或许是一个像 Express.JS 一样的框架, 突然需要使用几个全局变量. 怎样在 Node.JS 里创建全局变量呢?
对此最常见的建议是 "不使用'var'关键字声明一个变量" 或 "给 object 对象添加一个变量" 或 "给 OBJECT 对象添加一个变量".
关于 global 对象:
- > global.name
- undefined
- > global.name = 'El Capitan'
- > global.name
- 'El Capitan'
- > GLOBAL.name
- 'El Capitan'
- > delete global.name
- true
- > GLOBAL.name
- undefined
- > name = 'El Capitan'
- 'El Capitan'
- > global.name
- 'El Capitan'
- > GLOBAL.name
- 'El Capitan'
- > var name = 'Sparrow'
- undefined
- > global.name
- 'Sparrow'
来源: http://www.css88.com/qa/node-js/12296.html