我有一個類,我使用它的方法作爲事件監聽器,所以我不在方法中使用this
但that
。JavaScript繼承和單詞「this」和「that」
這是基類:
function Modal(){
var that = this;
this.opened = false;
this.open = function(){
that.opened = true;
var id = this.id;
// more code
};
this.close = function() {
if (that.opened) // do something;
};
}
這是繼承的類:
function ModalBook(){
var that = this;
this.open = function(){
that.opened = true;
var id = this.id;
// more code
};
}
ModalBook.prototype = new Modal();
var modalBook = new ModalBook();
現在的模式打開時的modal.opened
值爲true,但在關閉時該值爲false 。
論的this.close
線調試,我看到that
是Modal
一個實例,modalBook
是ModalBook
一個實例。
所以我的問題是:如何在modalBook
這兩種方法中保留this
的值?
您可以爲此創建一個小提琴嗎? –