我有一个由require
.
// loaded by require()
var a = this; // "this" is an empty object
this.anObject = {name:"An object"};
var aFunction = function() {
var innerThis = this; // "this" is node global object
};
aFunction();
(function(anyParameter){
console.log(anyParameter.anObject);
})(
this // "this" is same having anObject. Not "global"
);
我的问题是:this
在 var 中a = this;
是一个空对象,而this
在函数中的语句是 node.js 全局对象的影子。我知道this
关键字在函数中是不同的,但我不明白为什么 firstthis
不等于 global 而this
在函数中等于 global。
node.js 如何注入global
到this
函数作用域中,为什么不注入到module作用域中?