我有以下代码。它是一个 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