Значение «this» в модулях и функциях node.js
У меня есть файл 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"
);
Мой вопрос:this
в варa = this;
это пустой объект, тогда какthis
операторы в функциях являются тенями глобального объекта node.js. я знаюthis
Ключевое слово отличается по функциям, но я не мог понять, почему сначалаthis
не равен глобальному иthis
по функциям равен глобальным.
Как вводит node.jsglobal
вthis
в области функций, и почему он не вводит его в область видимости модуля?