揭示原型模式私有变量
Revealing Prototype Pattern private variables
我在JavaScript的揭示原型模式中遇到私有变量的问题。我不知道如何在不公开它们的情况下拥有在共享(单例)原型中的几个不同函数中使用的私有变量。下面是我在 JSFiddle 中的意思的示例。
问题在于使用var v
与this.v
。第一个会弄乱所有实例的状态,但第二个实例是公开可见的。有没有办法让 v 私有,并为每个单独的实例保留其状态?
没有
办法用揭示原型模式做到这一点。
您只能使用这样的事情来执行此操作:
function MyClass() {
var v = 1;
this.getV = function() {
return v;
};
}
这就是为什么有一些顽固的爱好者支持这种方法。
个人选项:在其前面粘贴下划线,并将其放在对象上:this._v
。不要与 JavaScript 作斗争;使用它。
相关文章:
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 如何在变量中存储多个模式参数并在 JavaScript 中打印该变量的值
- 函数调用的变量更改未显示在角度引导模式窗口中
- 流星技术/模式,用于等待数据库变量更改,然后在 in 之后执行某些操作
- 将变量传递给 Javascript 模块化模式方法
- 将变量传递给引导模式
- Django设计模式-在加载时填充客户端JavaScript变量的方法
- 使用模块模式时访问父作用域中的变量
- 可以将ng模式与变量一起使用吗
- 将变量从URL传递到简单模式弹出菜单
- 与变量匹配的Javascript模式
- 这种减少if语句中声明的变量范围的模式是一种好的做法吗
- 在Javascript严格模式下,您可以将参数分配给另一个变量
- 角度$scope变量未显示在引导模式初始化上
- 具有 John Resig 简单类模式的静态变量
- 揭示原型模式私有变量
- 用于复制已屏蔽的变量模式的Javascript
- Javascript的缺点“单变量模式”
- Node, CommonJS中的单变量模式
- Javascript单变量模式.我是不是超载了