Im vorherigen Artikel haben wir die Standardparameter in JavaScript erörtert. In diesem Artikel werden wir das Argumente Parameterobjekt von JavaScript diskutieren.
Wie führen wir in einer Funktion im folgenden Beispiel unterschiedliche Verarbeitung durch, basierend auf den übergaber Parametern?
Die Codekopie lautet wie folgt:
Funktion addAll () {
// Was machen wir hier?
}
// sollte 6 zurückkehren
Addall (1, 2, 3);
// sollte 10 zurückgeben
Addall (1, 2, 3, 4);
Glücklicherweise verfügt JavaScript über ein Argumenteobjekt, das die oben genannten Situationen bewältigen kann. Das Argumenteobjekt ist ein Array -Objekt. Wenn Sie die Details des Argumenteobjekts kennen möchten, klicken Sie bitte hier. Wir verwenden das Argumenteobjekt, um das obige Beispiel zu ändern:
Die Codekopie lautet wie folgt:
Funktion addAll () {
var sum = 0;
für (var i = 0; i <argumente.length; i ++) {
Summe += Argumente [i];
}
Rückgabesumme;
}
// Gibt 6 zurück
Addall (1, 2, 3);
// Gibt 10 zurück
Addall (1, 2, 3, 4);
Wir haben oben gesagt, dass das Argumenteobjekt ein Array -Objekt der Klasse ist. Testen wir es unten:
Die Codekopie lautet wie folgt:
Funktion getName () {
console.log (Array.isArray (Argumente));
}
// wird falsch ausgegeben
GetName ("Benjamin");
Die obigen Testergebnisse sind zu sehen:
Es ist kein Array -Objekt. Was ist also der Unterschied zwischen ihm und einem Array -Objekt? Bitte klicken Sie hier für Details.
Wenn Sie das folgende Beispiel ausführen, wird ein Fehler ausgeführt:
Die Codekopie lautet wie folgt:
Funktion sortargs () {
// Uncortn TypeError: Undefiniert ist keine Funktion
sortiert = argumente.sort ()
Rückkehr sortiert;
}
sortargs ();
Wir können ein Array -Objekt wie folgt in ein Array -Objekt umwandeln:
Die Codekopie lautet wie folgt:
Funktion sortargs () {
// Argumenteobjekte in ein echtes Array konvertieren
var args = [] .lice.call (Argumente);
// Nun, das wird funktionieren!
sortiert = args.sort ()
Rückkehr sortiert;
}
// Ausgabe [1, 2, 3]
console.log (sortargs (1,3,2));
Wenn Sie der Meinung sind, dass dieser Artikel für Sie hilfreich ist, hoffe ich, ihn an mehr Menschen in Not weiterzugeben. Wenn es einen unangemessenen Artikel gibt, hinterlassen Sie bitte eine Nachricht, um sie zu korrigieren.