En JavaScript, il est possible d'envoyer un nombre variable d'arguments à une fonction, y compris à partir d'un tableau. Cependant, l'approche diffère de la notation *args de Python.
Utilisation d'un tableau :
Lorsque vous passez un tableau comme arguments à une fonction, il sera traité comme un seul argument. Une boucle personnalisée peut être utilisée pour parcourir le tableau afin d'accéder à ses éléments :
var arr = ['a', 'b', 'c']; var func = function() { // debug console.log(arguments.length); // for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); } }; func('a', 'b', 'c', 'd'); // prints 4, then 'a', 'b', 'c', 'd' func(arr); // prints 1, then 'Array'
Spread Syntax (ES6) :
ES6 a introduit la syntaxe spread, qui vous permet de diffuser directement un éléments du tableau comme arguments individuels d'une fonction :
func(...arr); // prints 4, then 'a', 'b', 'c', 'd'
Liste de paramètres (ES6) :
Vous pouvez également utiliser la syntaxe spread directement dans une liste de paramètres de fonction pour créer un tableau pour le arguments de la fonction :
function func(...args) { args.forEach(arg => console.log(arg)); } const values = ['a', 'b', 'c']; func(...values); func(1, 2, 3);
Passer des arguments arbitraires :
Quelle que soit la méthode utilisée, JavaScript vous permet de transmettre un nombre arbitraire d'arguments à une fonction.
Obtenir un argument Longueur :
Vous pouvez déterminer le nombre d'arguments attendus en accédant à la propriété length d'une fonction :
var test = function (one, two, three) {}; console.log(test.length); // 3
À l'aide de apply (Legacy) :
Auparavant, l'apply La méthode pourrait être utilisée pour passer un tableau comme arguments à une fonction et définir la valeur this :
func.apply('test', arr);
Cependant, la syntaxe spread est désormais préférée pour sa simplicité et sa polyvalence.
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!