http://msdn.microsoft.com/en-us/magazine/ff696765.aspx怎麼做原型的JavaScript實現私有變量工作
這個網站展示了一個例子
function Circle(radius) {
this.getRadius = function() {
return radius;
};
this.setRadius = function(value) {
if (value < 0) {
throw new Error('radius should be of positive value');
}
radius = value;
};
}
VS
Circle.prototype.getRadius = function() {
return this._radius;
};
Circle.prototype.setRadius = function(value) {
if (value < 0) {
throw new Error('radius should be of positive value');
}
this._radius = value;
};
,並在頁面上它指出
「不過,在這種情況下,我們失去了擁有真正的私人成員的奢侈,並且擁有采用其他方式,例如通過公約表示隱私(強調的財產名稱)。它通常歸結爲在有真正的私人成員還是有更高效的實施之間作出選擇。「
如何使用原型this._失去」真正的私人「成員的奢侈品?,prototype.this沒有考慮作爲參考,以自我?
我c,所以沒有辦法做一個實例變量沒有使用這個關鍵字this._radius,如果你做var _radius,它不會做什麼? – user2167582
必須在此上定義Nope實例變量。 var _radius是定義函數的本地變量。 –