Maison > interface Web > js tutoriel > Appeler ou appliquer en JavaScript : en quoi ces méthodes d'invocation de fonction diffèrent-elles ?

Appeler ou appliquer en JavaScript : en quoi ces méthodes d'invocation de fonction diffèrent-elles ?

Mary-Kate Olsen
Libérer: 2024-12-15 11:05:17
original
723 Les gens l'ont consulté

Call vs. Apply in JavaScript: How Do These Function Invocation Methods Differ?

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 :

  • appel : Chaque argument est passé individuellement.
  • appliquer : Les arguments sont passés sous forme de tableau.

Pour retenir cette distinction, le mnémonique "A pour tableau et C pour virgule" peut être utile.

Syntaxe :

  • appel :

    theFunction.call(valueForThis, arg1, arg2, ...)
    Copier après la connexion
  • postuler :

    theFunction.apply(valueForThis, arrayOfArgs)
    Copier après la connexion

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");
Copier après la connexion

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"]);
Copier après la connexion

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 :

  • Si les arguments sont déjà dans un tableau, utiliser apply peut simplifier le code.
  • Si vous devez transmettre une valeur personnalisée pour le contexte this, call et apply peuvent être utilisés.
  • C'est Il est généralement considéré comme une bonne pratique d'utiliser call lorsque vous travaillez avec des fonctions en tant qu'objets, et apply lorsque vous traitez des tableaux d'arguments.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal