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

What's the name for this JavaScript pattern?

本文关键字:模式 JavaScript 什么      更新时间:2023-12-09

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

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

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

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

是的,模块模式,但也是边界展示者模式。

我想如果你想慷慨一点,只有一个单一的返回函数

,它可以被认为是"展示者模块模式"