У меня есть следующий код. Это модуль JavaScript.
(function() {
// Object
var Cahootsy;
Cahootsy = {
hello: function () {
alert('test');
},
};
(Cahootsy.scope = (function() {
return this;
})()).Cahootsy = Cahootsy;
return Cahootsy;
}).call(this);
Я не понимаю раздел:
(Cahootsy.scope = (function() {
return this;
})()).Cahootsy = Cahootsy;
Я думаю, что он создает объект, ссылающийся на модуль 'this', а затем присваивает переменную Cahootsy глобальной переменной Cahootsy. Я не понимаю, почему 'this' необходимо назначить Cahootsy.scope