Maison > interface Web > js tutoriel > Comment puis-je transmettre un nombre variable d'arguments aux fonctions JavaScript ?

Comment puis-je transmettre un nombre variable d'arguments aux fonctions JavaScript ?

Barbara Streisand
Libérer: 2024-11-16 01:44:03
original
576 Les gens l'ont consulté

How Can I Pass a Variable Number of Arguments to JavaScript Functions?

Passer un nombre variable d'arguments aux fonctions JavaScript

JavaScript offre une flexibilité dans la transmission d'arguments aux fonctions, y compris la possibilité d'envoyer un nombre variable d'arguments à partir d'un tableau.

Arité variable via des arguments

Comme Python, JavaScript a un objet arguments spécial qui représente tous les arguments passés à une fonction. Cet objet contient chaque argument en tant que propriété indexable. Par exemple :

function func() {
  console.log(arguments.length);
  for (arg in arguments) console.log(arg);
}

func('a', 'b', 'c', 'd'); // prints 4 and 'a', 'b', 'c', 'd'
Copier après la connexion

Passer un tableau en tant qu'arguments

Cependant, passer un tableau directement à une fonction en tant qu'arguments n'obtiendra pas le résultat souhaité. Au lieu de cela, le tableau lui-même sera traité comme un seul argument. Pour transmettre un tableau en tant qu'arguments individuels, vous pouvez utiliser la méthode apply() :

var arr = ['a', 'b', 'c'];

function func() {
  console.log(this); // 'test'
  console.log(arguments.length); // 3

  for (var i = 0; i < arguments.length; i++) {
    console.log(arguments[i]);
  }
}

func.apply('test', arr);
Copier après la connexion

Cela affichera 'test', 3, 'a', 'b' et 'c'.

Spread Syntax (ES6)

Depuis ES6, JavaScript a introduit la syntaxe spread (...), qui fournit une manière plus concise d'obtenir le même résultat :

func(...arr);
Copier après la connexion

Cela développera les éléments de arr en arguments individuels transmis à la fonction.

Paramètres nommés avec syntaxe spread (ES6)

Vous pouvez également combiner des paramètres nommés avec la syntaxe spread pour spécifier que certains arguments doit être traité comme un tableau :

function func(first, second, ...theRest) {
  //...
}
Copier après la connexion

Conclusion

JavaScript permet de transmettre un nombre variable d'arguments aux fonctions via l'objet arguments ou, dans ES6 et versions ultérieures, en utilisant la syntaxe spread. Cette flexibilité permet une variété de cas d'utilisation, tels que la création de fonctions génériques capables de gérer un nombre arbitraire d'entrées.

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