L'exemple de cet article décrit la méthode d'appel de fonctions en tant que paramètres en JavaScript. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
Regardons d'abord un exemple :
function Map(){ var obj = {}; this.put = function(key, value){ obj[key] = value; } this.eachMap = function(fn){ for(var attr in obj){ fn(attr, obj[attr]); } } } var m = new Map(); m.put('01', 'abc'); m.put('02', 1024); m.put('03', true); m.put('04', 0); m.put('05', false); m.eachMap(function(key, value){ alert(key + " : " + value); });
L'ordre dans lequel ce code est exécuté est : interprété et exécuté de haut en bas, ce qui est une exigence de JS.
Ici, nous expliquons principalement comment la fonction dans m.eachMap() est passée et exécutée en paramètre :
étape 1 : Lorsque la méthode m.eachMap est exécutée, JS trouvera la méthode this.eachMap correspondante
;
étape 2 : Trouvez la méthode this.eachMap et elle sera exécutée selon l'ordre des instructions dans le corps de la fonction
;
étape 3 : lorsque fn(attr, obj[attr]); est exécuté, il reviendra à l'exécution de l'instruction for ; notez qu'avant de revenir à l'exécution de l'instruction for, attr n'a aucune valeur après le retour de l'instruction for ; attr est Oui, c'est '01', et la valeur de obj[attr] est également là, c'est 'abc'
;
étape 4 : Ensuite, fn(attr, obj[attr]); reviendra à la fonction paramètre de la méthode m.eachMap, c'est-à-dire
function(key, value){ alert(key + " : " + value); }
attr remplace la clé, obj[attr] remplace la valeur, exécute l'instruction d'alerte et la génère.
Étape 5 : continuez à exécuter la boucle for, répétez l'étape 4 et sortez jusqu'à la fin.
J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.