I have some experience with Javascript but I would like to know why there is a left parenthesis right before the function keyword:
 requestAnimFrame = (function(callback) {
    return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
    function(callback) {
      window.setTimeout(callback, 1000 / 60);
    };
  })();
Also would you be able to explain why there are 2 callback functions. One more thing, why is there a bracket without any anything in it on the last line of code?
 
     
     
     
    