相关疑难解决方法(0)

node.js模块和函数中"this"的含义

我有一个加载的JavaScript文件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"
);
Run Code Online (Sandbox Code Playgroud)

我的问题是:this在var中a = this;是一个空对象,而this函数中的语句是node.js全局对象的阴影.我知道this关键字在函数中有所不同,但我无法理解为什么第一个this不等于全局,this而函数等于全局.

如何node.js的注入global,以this在功能范围,以及它为什么不其注入到模块的范围?

javascript node.js

35
推荐指数
3
解决办法
3万
查看次数

标签 统计

javascript ×1

node.js ×1