就像下面的node.js文件中的代码:

function test() {
    console.log(typeof this)
}


代码结果为object

我知道,如果代码在浏览器中运行,则此功能将绑定到默认的窗口对象。显然结果是对象

但是node.js文件绑定的功能是什么?

提前致谢!

最佳答案

不使用strict mode时,this将是所有模块共享的全局对象。

在以下示例中,node js1.js应该显示true:

// js1.js
const logT2 = require("./js2").logT2;

function logT1() {
  return this;
}
const thisInT1 = logT1();
const thisInT2 = logT2();
console.log(thisInT1 === thisInT2 && typeof thisInT1 === "object");




// js2.js
function logT2() {
  return this;
}

exports.logT2 = logT2;

10-08 02:40