问答详情
源自:2-1 绘制背景

requestAnimFrame里的callback,element是做什么用的?为什么要用()包起来,最后面怎么又有一个括号?为什么window.requestAnimFrame 后面不加上一个(),我比较笨,希望老师能知道一下。

window.requestAnimFrame = (function() {
  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
     function( /* function FrameRequestCallback */ callback, /* DOMElement Element */ element) {
        return window.setTimeout(callback, 1000 / 60);
     };
})();

提问者:PdpdPdpd 2016-04-19 23:51

个回答

  • LYUWENCHAO
    2016-05-04 17:05:43

    你对函数表达式和函数声明的概念不是很清楚,建议先看看书吧。类似funcName=(function(){})()或者funcName=(function(){}())这种形式是自执行函数,你可以找点资料看看,大致就是funcName直接等于后面函数的执行结果。