在node.js中默认就是模块化的,默认声明的变量、函数都是属于当前文件模块,都是私有的,只有在当前模块作用域内可以使用,那么如果想在全局为某个变量赋值,就需要用到全局对象global。
node.js中的global对象类似于浏览器中的window对象,用于定义全局命名空间,所有全局变量(除了global本身)都是global对象的属性,在实际使用中可以省略global
举例
1. var foo = 'bar';
2. console.log(foo);
3. console.log('global:foo '+global.foo);
首先对foo变量赋值,然后再输出foo变量的值,再输出global修饰的变量foo
因为node.js定义的变量默认是属于当前文件模块的,所以global全局变量中不存在foo,故输出undefined。