[問題] Javascript object 的問題

看板Ajax作者 (一天死去一點)時間17年前 (2007/12/26 21:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
我有一個自訂物件,會透過 Ajax 來 update 內部的一些值,我把問題簡化如下: MyObject = function(initVal) { this.val = initVal; } //a method MyObject.prototype.load = function(url) { //使用 prototype.js 的 Ajax.Request 物件 new Ajax.Request( url, { method: 'get', onSucccess: function(t) { this.val = t.responseText; // <- problem here!! } }); } //use var myObj = MyObject.new('0'); //init with '0' myObj.load('http://some-url/response_text_is_1'); alert(myObj.val); //期望是 '1',但還是初始值 '0' 問題就是 this.val = t.responseText; 這一行,因為這是在一個 callback function 裡,所以 this.val 存取到的是這個 function 內部的變數,而不 是 MyObject 裡的 MyObject.val 這個變數,即使執行 MyObject.load() 也更新不到它的成員變數(js 有這個術語嗎@@?) 請問有什麼方法可以存取到這個成員變數嗎?謝謝 m(_ _)m -- 雁子回到了遙遠的北方 妳的名字我已想不起來 別怪我 生命太匆忙 http://blog.xamous.net -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.175.81.213
文章代碼(AID): #17SbGsjQ (Ajax)
文章代碼(AID): #17SbGsjQ (Ajax)