使用requestAnimationFrame替换setInterval

//开启计时器,和setInterval类似
var test1 = setAnimationFrame(function(){
    console.log("-----------")
},1000);
//清除计时器
clearAnimationFrame(test1)
//使用requestAnimationFrame重写setInterval,进行性能优化
function setAnimationFrame(render,time) {
    //当前执行时间
    var nowTime = 0;
    //记录每次动画执行结束的时间
    var lastTime = Date.now();
    //我们自己定义的动画时间差值
    var diffTime = time;
    //当前requestAnimationFrame的id
    //此处使用对象,对象存储在地址空间,函数内部更新了对象的值,函数外部也可以接收到
    var timer = {};
    function animloop() {
        //记录当前时间
        nowTime = Date.now();
        if (nowTime - lastTime > diffTime) {
            lastTime = nowTime
            render();
        //timerid为数字
        timer.id = requestAnimationFrame(animloop);
    animloop()
    return timer;