为什么在文件中和函数内声明的'this'指向Node.js中的不同对象

Vit*_*lij 9 javascript this node.js

我有一个这样的脚本:

var test = function(){
    console.log('From test: '  + this);
};
console.log(this);
test();
Run Code Online (Sandbox Code Playgroud)

我运行的是哪个node test.js.而我对脚本的期望是this指向全局对象,但只有this测试函数指向global对象. console.log(this);实际上指向一个空对象.

我试图理解为什么node.js有这种行为,我误解了this关键字如何在node.js中工作.