揭示原型模式私有变量

Revealing Prototype Pattern private variables

本文关键字:变量 模式 原型      更新时间:2023-09-26

我在JavaScript的揭示原型模式中遇到私有变量的问题。我不知道如何在不公开它们的情况下拥有在共享(单例)原型中的几个不同函数中使用的私有变量。下面是我在 JSFiddle 中的意思的示例。

问题在于使用var vthis.v。第一个会弄乱所有实例的状态,但第二个实例是公开可见的。有没有办法让 v 私有,并为每个单独的实例保留其状态?

没有

办法用揭示原型模式做到这一点。

您只能使用这样的事情来执行此操作:

function MyClass() {
    var v = 1;
    this.getV = function() {
        return v;
    };
}

这就是为什么有一些顽固的爱好者支持这种方法。

个人选项:在其前面粘贴下划线,并将其放在对象上:this._v 。不要与 JavaScript 作斗争;使用它。