/ / Le paramètre dans la fonction d'exécution automatique est-il nécessaire? - javascript, rappel

Le paramètre dans la fonction d'exécution automatique est-il nécessaire? - javascript, rappel

J'aimerais savoir si ce code JavaScriptL'exemple ci-dessous contient un paramètre inutile. J'apprends à connaître les concepteurs de sites Web JavaScript et le multithreadness, et le didacticiel que je suis en train de suivre comprend le code suivant:

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

Je n’ai pas beaucoup utilisé les fonctions auto-exécutables dans JS, mais je ne peux pas comprendre le but de la callback paramètre dans la fonction d'emballage. Je crois comprendre que l’introduction de paramètres dans la fonction d’ouverture n’est valable que si le () contient également les variables à transmettre.

La fonction intérieure callback Ce paramètre a du sens car il tente de répliquer une action "30 images par seconde".

Ma présomption est que le callback paramètre dans la fonction anonyme extérieure est inutile dans ce contexte, mais je ne suis pas certain.

Réponses:

1 pour la réponse № 1

Oui, c'est inutile.

À chaque function (...) { ouvreur de bloc, vous commencez une nouvelle variablescope - tout ce qui se trouve à l’intérieur ou dans les arguments de la fonction a une portée distincte. Toutes les variables des fonctions d’un niveau supérieur de l’arborescence sont toujours accessibles, à moins que dans ce cas vous n'ayez réutilisé leur nom.

La première callback Ce paramètre n’est essentiellement jamais référencé dans le code.