Die Funktionsdefinition von JS kann mehr oder weniger formale Parameternamen angeben, aber leider ist dies nur eine Illusion Übergeben, dieser Parameter ähnelt einem Array. Wenn die Funktion aufgerufen wird, werden die bei der Definition der Funktion angegebenen formalen Parameter tatsächlich für die Daten in dieser Datenstruktur definiert Zugangsmöglichkeit. Mit anderen Worten, alle Funktionen in JS unterstützen unbegrenzte Parameter und der Datentyp ist ein schwacher Typ. Es gibt also wirklich keinen Methodenunterschied zwischen JS-Funktionen, außer ihren Namen?
Es gibt immer eine Möglichkeit, die speziellen Objektargumente in JavaScript zu verwenden, um eine Funktionsüberladung zu simulieren. Verwenden Sie es, um die Anzahl oder Art der übergebenen Parameter zu bestimmen, um eine Überladung zu unterscheiden.
1. Überladung entsprechend der Anzahl der Parameter
js kann das Attribut arguments.length verwenden, um die Anzahl der eingehenden Parameter zu bestimmen;
2. Überladung je nach Parametertyp
3 Möglichkeiten zur Bestimmung des Variablentyps:
1. Verwenden Sie die typeof-Anweisung, um den Variablentyp zu bestimmen. Die typeof-Anweisung gibt die dem Typ entsprechende Zeichenfolge zurück.
2. Verwenden Sie die Anweisung „instanceof“, um den Variablentyp zu bestimmen. Die Anweisung „instanceof“ gibt „true/false“ zurück.
3. Verwenden Sie das Konstruktorattribut, um den Variablentyp zu bestimmen. Dieses Attribut gibt die Konstruktorreferenz zurück, die zum Erstellen der Variablen verwendet wird.
Vergleichstabelle: Es ist ersichtlich, dass typeof den spezifischen Typ nicht genau bestimmen kann. Daher verwenden wir zur Bestimmung den Konstruktor.
Konstruktor String Nummer Objekt Funktion Boolean Array Benutzerdefiniert