我有一個異步調用,當它完成時,我想在父級上設置一個屬性。從異步調用訪問另一個對象原型的對象
採取以下類,貓:
var cat = function(){
this.isLoaded = false;
this.image = new Image();
this.image.onload = function(){
//how can I set the isLoaded variable above from here??
}
this.image.src = "...";
}
我希望能夠做到:
var myCat = new cat();
if(myCat.isLoaded)
....
我似乎無法弄清楚如何設置上述從onload事件中的isLoaded屬性。我可以通過只是做'isLoaded'來訪問它,但我認爲我是通過價值訪問它,而不是參考,因此不能改變它。
這似乎是一個簡單的解決方案,我想我缺乏更深入的瞭解。
謝謝!
確定,所以,以確保我正確地理解這樣一個例子 - 在一個函數的函數可以訪問外部函數/對象的本地/私有「變量(通過聲明var a)而不是附加到函數本身的對象? (通過this.a) – Steve 2011-03-16 19:07:54
@Steve它可以訪問它的父範圍,但'this'的值會改變,所以你需要一個參考。 – alex 2011-03-16 23:07:34