Aufgrund von Sprachentwurfsfehlern können Argumente als Array behandelt werden.
Die Codekopie lautet wie folgt:
Funktion Zero () {
console.log (Argumente [0]);
}
Es wird sein
Die Codekopie lautet wie folgt:
Funktion Zero () {
für (var i = 0; i <argumente.length; i ++) {
console.log (Argumente [i]);
}
}
Es nutzt die Tatsache, dass JavaScript der Javasc ist
Die hier variablen Argumente liefert eine Array-ähnliche Schnittstelle für die tatsächlichen Argumente. Aufgrund der variablen Parameter von Argumenten können wir diese interessante Sache verwenden, um einige interessante Dinge wie Überladung zu tun.
Javscript Reload
Es gibt eine Frage zum Überladen von StackvoerFlow. Die erste Antwort lautet also
Die Codekopie lautet wie folgt:
if (typeof Freund === "undefined") {
} anders {
}
Eine andere Antwort ist
Die Codekopie lautet wie folgt:
Switch (Argumente.length) {
Fall 0:
// wahrscheinlich Fehler
brechen;
Fall 1:
// etwas mach
brechen;
Fall 2:
Standard: // Fallen Sie durch, um den Fall von weiteren Parametern zu verarbeiten
// etwas anderes mach
brechen;
}
Aber diese Methode sieht wirklich nicht gut aus. Wird unsere Funktion irgendwann so werden?
Die Codekopie lautet wie folgt:
Funktion null1 () {
console.log ('Argumente 1')
};
Funktion null2 () {
console.log ('Argumente 2')
};
Funktion Zero () {
if (Argumente.length == 1) {
Zero1 ();
} anders{
Zero2 ();
}
}
Es sieht wirklich nicht gut aus. Auch wenn wir den Schalter ändern ... Fall, sieht es nicht gut aus.
JavaScript -Argumente sind kein Array
Argumente sind nicht immer ein Array, wie wir sehen, und manchmal kann es nicht.
Die Codekopie lautet wie folgt:
Funktion hello () {
console.log (typeof argumente);
}
Hier ist die Art der Argumente ein Objekt, obwohl die Art des Arrays auch ein Objekt ist, obwohl wir es in ein Array umwandeln können
Die Codekopie lautet wie folgt:
var args = array.prototype.slice.call (Argumente);
Dies zeigt aber auch, dass dies kein Array ist, sondern nur die einzige Eigenschaft von Array, d. H. Länge. Zusätzlich dazu
Argumente.Callee
Verweis auf die aktuell ausführende Funktion.
Argumente.Caller
Verweise auf die Funktion, die die aktuell ausführende Funktion aufgerufen hat.
Argumente.Length
Verweis auf die Anzahl der an die Funktion übergebenen Argumente.