0
說我有以下對象:如何調用對象方法的requestAnimFrame?
function Foo(value){
this.bar = value;
this.update();
}
Foo.prototype.update = function(){
console.log(this.bar);
this.bar++;
requestAnimationFrame(this.update);
}
Foo.prototype.setBar(value){
this.bar = value;
}
這是行不通的。火狐給我一個錯誤:
NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMWindow.requestAnimationFrame]
我想知道爲什麼,還有什麼其他的解決方案可以用來代替調用對象的更新方法,無需從你的主函數調用它(即在保持對象匿名)。
在ES5這隻作品,對不對? – Qqwy
@Qqwy:對。手動,你可以做'var that = this; requestAnimationFrame(function(){that.update();});'。 – rninty