In vielen objektorientierten Sprachen auf hoher Ebene gibt es eine Überlastung von Methoden. Und JavaScript hat nicht das Konzept der Methodenüberlastung. Wir können jedoch den Argumenteparameter verwenden, um die Überlastung der Funktion zu verschleiern
Schauen wir uns vor der Simulation den Code an:
Die Codekopie lautet wie folgt:
// Es gibt keine Funktion, die formale Parameter auf der Oberfläche deklariert
Funktion Fun () {
alert ("Beispielcode");
}
Fun ("Xiao Ming", 100, wahr); // Ich habe selbst drei tatsächliche Parameter geschrieben
Durch die Ergebnisse sehen wir, dass wir beim Aufrufen der Methode auch dann, wenn wir bei der Erklärung einer Funktion keine formalen Parameter definieren, tatsächliche Parameter schreiben können. (Tatsächlich werden formale Parameter beim Schreiben an Programmierer gelesen, um Funktionen anzurufen.)
Können wir die tatsächlichen Parameter im Code erhalten? Die Antwort lautet Ja: Bitte sehen Sie den Code:
Die Codekopie lautet wie folgt:
// Es gibt keine Funktion, die formale Parameter auf der Oberfläche deklariert
Funktion Fun () {
Warnung (Argumente [0]); // Erhalten Sie den Wert des ersten tatsächlichen Parameters.
Warnung (Argumente [1]); // Erhalten Sie den Wert des zweiten tatsächlichen Parameters.
Warnung (Argumente [2]); // Erhalten Sie den Wert des dritten tatsächlichen Parameters.
Alert (Argumente.Length); // Erhalten Sie die Anzahl der tatsächlichen Parameter.
alert ("Beispielcode");
}
Fun ("Xiao Ming", 100, wahr); // Ich habe selbst drei tatsächliche Parameter geschrieben
Durch den Code können wir wissen, dass Argumente (interne Eigenschaften) selbst ein Array sind, und ihre Funktion besteht darin, die tatsächlichen Parameter der Methode zu speichern.
Mit den oben genannten Wissenspunkten werden Ideen zum Nachladen der Simulationsmethode geben. Wir können ein Urteilsvermögen basierend auf der Anzahl der tatsächlichen Parameter fällen, um verschiedene logische Codes auszuführen. Der einfache Code lautet wie folgt:
Die Codekopie lautet wie folgt:
Funktion Fun () {
if (Argumente.length == 0) {
alert ("Code ohne tatsächliche Parameter ausführen");
}
sonst wenn (Argumente.length == 1)
{
ALERT ("Führen Sie den Code aus, der in einem tatsächlichen Parameter übergeht");
}
sonst wenn (Argumente.length == 2)
{
ALERT ("CODE -PASSIERUNG IN ZWEI Tatsächliche Parameter ausführen");
}
}
Spaß();
Fun ("Xiao Ming");
Fun ("Xiao Ming", "Xiao Hua");