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

时间:2012-07-20 23:20:24

标签: javascript

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

这种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);

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

2 个答案:

答案 0 :(得分:0)

这是module pattern,几乎是revealing module pattern。有关它的信息以及许多其他有用的Javascript设计模式,请参阅Addy Osmani的链接页面。

答案 1 :(得分:0)

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

我想它可以被认为是“revealer module pattern”,如果你想慷慨只有一个单一的返回功能