proszę wyjaśnić ten idiom requestAnimationFrame

jest wiele miejsc (np.Jak korzystać z requestAnimationFrame?) to naprawićwindow.requestAnimationFrame jak poniżej. Nie rozumiem, dlaczego prawa strona przypisania jest zapakowana w wywołanie funkcji.

<code>window.requestAnimFrame = (function(){
    return window.requestAnimationFrame ||
    window.webkitRequestAnimationFrame ||
    window.mozRequestAnimationFrame ||
    window.oRequestAnimationFrame ||
    window.msRequestAnimationFrame ||
    function(callback){
        window.setTimeout(callback, 1000 / 60);
    };
})();
</code>

questionAnswers(3)

yourAnswerToTheQuestion