在探索我感兴趣的JavaScript library时,我偶然发现了这种奇怪的生活。我找不到关于这个模式的任何信息,我相信它是为这个用例量身定做的。我不能完全理解这里发生的事情,但直觉让我认为它可能类似于Singleton模式。下面是一个简短的示例,展示了我认为是代码核心的内容:
var Ctor = (function () {
function dostuff(_this, args...){}//only used within this iife
var Ctor = function (args...) {
if (!this || this === window) {
return new Ctor(args...);
}
dostuff(this, args...);
return this;
};
return Ctor;
})();
请注意,我更改了函数的名称以反映我认为它们负责的内容,但我的假设可能是错误的,我可能会进一步使代码变得难以理解。我链接的源代码大约有60行长,所以如果这个版本没有任何意义,我建议给出一个提示。(我所做的更改是Ctor <=>绑定,做<=>扩展)
至于我的问题:
https://stackoverflow.com/questions/53827854
复制相似问题