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?