1

每当我需要创建一个可能需要多次实例化的类并且我想防止在对象外部访问私有方法时,我一直在使用这种模式。

这个 JavaScript 模式的名称是什么?

http://jsfiddle.net/CHcXG/

var baseball = (function() {

    var _add = function(value) {
         value = value + 5;
         return value;
    };


    var constructor = function(iVal) {
       this.baseball = true;
       this.num = iVal; 
    };

    constructor.prototype.add = function() {
         this.num = _add(this.num);
    };

    return constructor;

})();

var test = new baseball(5);
var testb = new baseball(6);

上面示例中的名称、值和方法是完全没有意义的;我只是想说明该模式的语法、结构和用法。

4

2 回答 2

0

这是一个模块模式,几乎是一个暴露的模块模式。有关它和许多其他有用的 Javascript 设计模式的信息,请参阅 Addy Osmani 的链接页面。

于 2012-07-20T23:24:42.123 回答
0

是的,模块模式,但也是边缘显示模式。

i guess it could be considered the "revealer module pattern" if you wanted to be generous with there only being 1 single return function

于 2012-07-20T23:25:41.933 回答