JavaScript bietet Flexibilität bei der Übergabe von Argumenten an Funktionen, einschließlich der Möglichkeit, eine variable Anzahl von Argumenten aus einem Array zu senden.
Wie Python verfügt JavaScript über ein spezielles Argumentobjekt, das alle an eine Funktion übergebenen Argumente darstellt. Dieses Objekt enthält jedes Argument als indizierbare Eigenschaft. Zum Beispiel:
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'
Die direkte Übergabe eines Arrays an eine Funktion als Argumente ist jedoch nicht möglich das gewünschte Ergebnis erzielen. Stattdessen wird das Array selbst als einzelnes Argument behandelt. Um ein Array als einzelne Argumente zu übergeben, können Sie die Methode apply() verwenden:
var arr = ['a', 'b', 'c']; function func() { console.log(this); // 'test' console.log(arguments.length); // 3 for (var i = 0; iDies gibt 'test', 3, 'a', 'b' und 'c' aus.
Spread-Syntax (ES6)
Seit ES6 hat JavaScript die Spread-Syntax (...) eingeführt, die eine prägnantere Möglichkeit bietet, dasselbe zu erreichen result:
func(...arr);Dadurch werden die Elemente von arr in einzelne Argumente erweitert, die an die Funktion übergeben werden.
Benannte Parameter mit Spread-Syntax (ES6 )
Sie können benannte Parameter auch mit der Spread-Syntax kombinieren, um anzugeben, dass einige Argumente als Array behandelt werden sollen:
function func(first, second, ...theRest) { //... }Schlussfolgerung
JavaScript ermöglicht die Übergabe einer variablen Anzahl von Argumenten an Funktionen über das Argumentobjekt oder, in ES6 und höher, mithilfe der Spread-Syntax. Diese Flexibilität ermöglicht eine Vielzahl von Anwendungsfällen, beispielsweise die Erstellung generischer Funktionen, die eine beliebige Anzahl von Eingaben verarbeiten können.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3