Node.js这个关键字

时间:2017-04-25 18:01:28

标签: javascript node.js

根据MDN,this关键字的行为如下。

  

在全局执行上下文中(在任何函数之外),这指的是   对于全局对象,无论是否处于严格模式。

我通过运行以下代码来测试它:

'use strict'; 
console.log(this === global);

结果令人困惑。当我将这些代码放入文件并通过node test.js运行它时,它返回false。但是当我在repl.it中运行它时,它返回true。

我希望两种方式都能归结为真。任何人都可以解释原因吗?

1 个答案:

答案 0 :(得分:1)

节点中的文件是模块,并且位于各自的上下文中,以避免污染全局命名空间。

在repl中,你处于自己的上下文中,恰好是全局上下文。