使用箭头函数作为传递给 requestAnimationFrame 的方法
Use arrow function as method passed to requestAnimationFrame
我有一个对象,其方法将传递给 requestAnimationFrame。
目前我创建对象而不是用箭头函数重新分配方法 returns.
var player={fn:function(){return ()=>{game.circle(this.x,this.y,this.radius)}},
x:200,y:300,radius:20};
player.fn=player.fn();
是否可以在创建对象后不重新分配方法的情况下完成此操作?
你可以 use a static reference to player
instead:
const player = {
fn() {
game.circle(player.x, player.y, player.radius);
},
x:200,
y:300,
radius:20
};
requestAnimationFrame(player.fn);
但是不行,否则没有单独的赋值是没法写的。然而,通常您在调用 requestAnimationFrame
:
时只会 bind
or use the arrow function
var player = {
fn() {
game.circle(this.x, this.y, this.radius);
},
x:200,
y:300,
radius:20
};
requestAnimationFrame(() => player.fn());
我有一个对象,其方法将传递给 requestAnimationFrame。 目前我创建对象而不是用箭头函数重新分配方法 returns.
var player={fn:function(){return ()=>{game.circle(this.x,this.y,this.radius)}},
x:200,y:300,radius:20};
player.fn=player.fn();
是否可以在创建对象后不重新分配方法的情况下完成此操作?
你可以 use a static reference to player
instead:
const player = {
fn() {
game.circle(player.x, player.y, player.radius);
},
x:200,
y:300,
radius:20
};
requestAnimationFrame(player.fn);
但是不行,否则没有单独的赋值是没法写的。然而,通常您在调用 requestAnimationFrame
:
bind
or use the arrow function
var player = {
fn() {
game.circle(this.x, this.y, this.radius);
},
x:200,
y:300,
radius:20
};
requestAnimationFrame(() => player.fn());