Méthodes d'appel de fonction : appeler ou appliquer
En JavaScript, les méthodes d'appel et d'application vous permettent d'invoquer des fonctions avec des contextes et des arguments personnalisés . Bien que les deux méthodes servent le même objectif, elles diffèrent dans la façon dont elles gèrent la transmission des arguments.
call vs. apply : gestion des arguments
La principale différence réside dans la façon dont les arguments sont fournis à la fonction :
Pour retenir cette distinction, le mnémonique "A pour tableau et C pour virgule" peut être utile.
Syntaxe :
appel :
theFunction.call(valueForThis, arg1, arg2, ...)
postuler :
theFunction.apply(valueForThis, arrayOfArgs)
Exemple :
function theFunction(name, profession) { console.log("My name is " + name + " and I am a " + profession + "."); } theFunction("John", "fireman"); theFunction.apply(undefined, ["Susan", "school teacher"]); theFunction.call(undefined, "Claude", "mathematician");
Dans Dans cet exemple, la méthode call est utilisée avec des arguments séparés par des virgules, tandis que la méthode apply prend un tableau d'arguments.
Spread Operator :
Dans ES6 et versions ultérieures, l'opérateur spread peut être utilisé pour transmettre un tableau comme arguments au Méthode appel :
theFunction.call(undefined, ...["Matthew", "physicist"]);
Recommandations en matière de performances et d'utilisation :
Il n'y a pas de différences de performances significatives entre l'appel et l'application. Le choix de la méthode à utiliser dépend de la situation spécifique :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!