我以前使用過原型,現在我正在嘗試學習jquery。 問題:我有一個使ajax調用的對象,並且我希望成功回調在我的對象中調用一個函數。問題是在回調函數中,「this」不指向我原來的類。jQuery ajax和JavaScript對象
例子:
function C(){
this.loadData();
}
C.prototype.loadData = function(){
$.ajax({
url:"URL/",
dataType:'json',
success:this.dataRetreived
});
}
C.prototype.dataRetreived = function(JSON){
console.info(this);
console.info(JSON);
}
使用Prototype我可以簡單地使用.bind(this)
,但jQuery有一個做事的不同方式..
順便說一句'function.bind'與試製是ECMAScript的第五版標準的一部分,所以你就可以在FUT反正用它而不必破解函數原型。 – bobince 2010-02-13 13:33:07
@bobince:這將是一個很好的補充,尤其是因爲我傾向於使用.bind很多... – Quamis 2010-02-13 13:40:13
是的,我也是(儘管通過自己修補'Function.prototype',因爲我沒有使用Prototype)。在這之間,嚴格模式修復以及在語言中添加長期標準的Mozilla功能,JavaScript終於變得不那麼可怕了。 – bobince 2010-02-13 13:56:28