Sorter.prototype.init_bubblesort = function(){
console.log(this.rect_array);
this.end = this.rect_array.length;
this.bubblesort();
}
Sorter.prototype.init = function(array,sort_type){
this.rect_array = array;
this.init_bubblesort();
}
上面的代碼工作正常,但是當我改變初始化函數:
Sorter.prototype.init = function(array,sort_type){
var sort_types = {'bubblesort':this.init_bubblesort,
'quicksort':this.init_quicksort,
'liamsort':this.init_liamsort};
this.rect_array = array;
sort_types[sort_type]();
}
的init_bubblesort功能產生錯誤說法this.rect_array是未定義的。我試圖圍繞我的腦袋爲什麼init_bubblesort不再有權訪問其實例的變量。
感謝您的快速回答!在一個輕微的相關說明中,如果我做了window.setTimeout(this.bubblesort,80),我遇到了完全相同的問題嗎?那是window.setTimeout(this.bubblesort ....)似乎也不工作,我懷疑這是一個類似的問題。 – LDK 2010-05-30 20:11:55
賽維LDK,是的,你做。我會更新我的答案以展示如何做到這一點。 – 2010-05-30 20:15:31