所以在浏览器(chrome)中,如果我在js控制台中运行此代码,则函数调用foo();打印到数字2的控制台。但如果我在node.js中运行它,函数调用foo()将打印 undefined 。为什么会这样?节点是否以“严格模式”自动运行代码?
s.
答案 0 :(得分:2)
正如document
中所述Node.js模块中的var将是该模块的本地内容。
所以,情况会有所不同。
您也可以尝试:
function foo() {
console.log(this.a);
}
global.a = 2;
foo();