这在模块范围内指向何处?

时间:2016-03-02 16:08:45

标签: javascript node.js this

this在模块范围内引用了什么对象(我指的是node.js模块)?

console.log(this);
console.log(this === module); //false

它没有引用module对象,所以指向哪里?

1 个答案:

答案 0 :(得分:3)

奇怪的是,它等于Game::init

module.exports

我个人认为这是愚蠢的。但事实就是如此。

我不知道为什么我们有 3 引用相同的东西。 console.log(this === module.exports); // => true thisexports都引用同一个对象。

我最好的猜测是它有一些向后兼容性。我很容易就错了。