Javascript Node.js此关键字
根据MDN,this关键字的行为如下所示 在全局执行上下文中(在任何函数之外),这是指 到全局对象,无论是否处于严格模式 我通过运行以下代码进行测试:Javascript Node.js此关键字,javascript,node.js,Javascript,Node.js,根据MDN,this关键字的行为如下所示 在全局执行上下文中(在任何函数之外),这是指 到全局对象,无论是否处于严格模式 我通过运行以下代码进行测试: 'use strict'; console.log(this === global); 结果令人困惑。当我将这些代码放入一个文件并通过执行node test.js运行它时,它返回false。但当我运行它时,它返回true 我希望这两种方式都能实现。有人能解释一下原因吗?节点中的文件是模块,它们位于自己的上下文中,以避免污染全局名称空间 在re
'use strict';
console.log(this === global);
结果令人困惑。当我将这些代码放入一个文件并通过执行node test.js
运行它时,它返回false。但当我运行它时,它返回true
我希望这两种方式都能实现。有人能解释一下原因吗?节点中的文件是模块,它们位于自己的上下文中,以避免污染全局名称空间
在repl中,您处于它自己的上下文中,这恰好是全局上下文。这意味着,默认情况下,每个nodejs文件中的“this”不等于全局对象?@JunbangHuang否,这取决于文件是否作为模块执行。