[英]Revealing Prototype Pattern private variables
我在JavaScript的Revealing Prototype Pattern中遇到私有變量的問題。 我無法弄清楚如何在共享(單例)原型中使用多個不同函數中使用的私有變量,而不暴露它們。 這是我在JSFiddle中的意思的例子 。
問題在於使用var v
與this.v
第一個是混淆所有實例的狀態,但第二個是公開可見的。 有沒有辦法讓v private,並為每個單獨的實例保留其狀態?
用揭示的原型模式沒有辦法做到這一點。
你只能這樣做:
function MyClass() {
var v = 1;
this.getV = function() {
return v;
};
}
這就是為什么有一些頑固的愛好者為這種方法。
個人選擇:在它前面粘一個下划線,然后將它放在物體上: this._v
。 不要打JavaScript; 用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.