javascript - 如何向requestAnimationFrame的回调函数中传递参数
本文介绍了javascript - 如何向requestAnimationFrame的回调函数中传递参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
function drawAll(ball) {
ctx.clearRect(0,0,864,664);
drawBorder();
ball.moveBall();
ctx.drawImage(ball_img,ball.location_x,ball.location_y,2*ball.ballrad,2*ball.ballrad);
requestAnimationFrame(drawall);
}
预想的是向drawall这个函数中传递ball这个对象,moveball是改变ball的位置,drawimage一行是根据ball的位置绘制ball,但这样做不能成功。
我知道可以用全局变量去实现,但求教有没有向callback中传参的方法呢,尤其是未来drawAll函数可能接受多个参数的情况下。
解决方案
其实跟setTimeout类似,我们知道传参传的是一个函数,那么我们是不是可以用一个匿名函数来包裹这个函数的执行呢
比如:
function fn(fc){
console.log('fc:',fc)
fc++;
setTimeout(function(){
fn(fc)
},1000)
}
fn(1);
这篇关于javascript - 如何向requestAnimationFrame的回调函数中传递参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文