Node.js 控制台无法识别全局变量范围

Global Variable Scope Not recognized in Node.js console

所以在浏览器中(chrome),如果我运行这段代码在js控制台中,函数调用foo();向控制台打印数字 2。但是如果我 运行 它在 node.js 中,函数调用 foo() 打印 undefined。为什么会这样?节点是否自动 运行 在 'strict mode' 中编码?

function foo() {     
   console.log(this.a); 
} 

var a = 2; 

foo();

document

中所述

var something inside an Node.js module will be local to that module.

所以,情况会有所不同。

您也可以试试:

function foo() {     
   console.log(this.a); 
} 
global.a = 2; 

foo();