1
看起來像一個簡單的問題,但無法使其工作。JavaScript類 - 在私有方法中訪問public var時遇到問題
在下面的示例中,取消選擇被調用,但公共變量'this.backSelected'未定義。如果我將unselect方法的代碼直接移入public off方法,它就可以工作。
如何檢查私有方法中的公共變量?我不明白爲什麼這不是工作。
謝謝。
function MyClass()
{
// public vars
this.isActive = false;
this.backSelected = false;
// public methods
this.on = function() {
this.isActive = true;
this.backSelected = true;
// set back button on image
}
this.off = function() {
this.isActive = false;
unselect();
}
// private methods
function unselect() {
if(this.backSelected) {
// set back button off image
}
};
}
var obj = new MyClass(); obj.on(); obj.off();
認爲這是現貨。 請參閱「特權」部分以供參考:http://www.crockford.com/javascript/private.html – Gary 2010-08-23 17:20:55
謝謝!從未見過之前的應用方法。 @加里 - 感謝您的鏈接,以及很棒的閱讀。 – 2010-08-23 17:34:30