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
Barbara Streisandoriginal
2024-11-16 01:44:03596parcourir

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'

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);

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);

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) {
  //...
}

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!

Déclaration:
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