0
根据MDN,this
关键字的行为如下。Node.js此关键字
在全局执行上下文(任何函数之外)中,无论是否在严格模式下,都将全局对象引用为 。
我通过运行这些代码进行测试:
'use strict';
console.log(this === global);
结果是混乱的。当我将这些代码放入一个文件并通过执行node test.js
来运行它时,它将返回false。但是当我在repl.it中运行它时,它返回true。
我期望这两种方式都应该返回true。谁能解释为什么?
这意味着,默认情况下,每个nodejs文件中的“this”不等于全局对象吗? –
@JunbangHuang不,这取决于文件是否作为模块执行。 – Bergi