到现在为止,我使用显示模块模式来构建我的 Javascript,如下所示:
var module = (function() {
var privateVar;
// @public
function publicFunction( ) {
}
return {
publicFunction: publicFunction
}
})();
尽管此代码按预期工作,但我最近阅读了一篇文章,如果您有多个实例,此模式会使用大量内存,并且与其他模式相比,它存在一些速度问题。因为我喜欢使用这种模式,所以我搜索了没有所有这些“问题”的类似模式,并且遇到了 Revealing Prototype Pattern。据我所知,JavaScript 的 Prototype 有更好的内存管理。
现在我想知道使用显示原型模式是否更快/更好的记忆?这个基准测试让我感到惊讶,因为模块模式似乎要快得多。有什么理由吗?
此外,我无法弄清楚如何使用 Revealing Prototype Pattern 拥有多个实例(与上面的 Revealing Module Pattern Fiddle 相比):
var prototypeModule = function( el ) {
this.init( );
};
prototypeModule.prototype = function () {
var privateVar;
// @public
function init( ) {
}
return {
init: init
}
}();
我究竟做错了什么?