C#.NET * C++ * JAVASCRIPT * PYTHON * DIVERSES
XML * XML-SCHEMA * XPATH * XSL * XSL-FO * SVG * XQUERY * XPROC * ANT



JavaScript / Objektorientiert programmieren mit JavaScript / Funktionsüberladung

Funktionsüberladung

Funktionsüberladung

➪ Auch die Funktionsüberladung erscheint weit flexibler (wenn auch nicht ebenso typsauber) umsetzbar wie etwa in Java. Zwar macht die mehrfache Deklaration einer Function wenig Sinn: Eine zweite Function desselben Namens würde die erste überschreiben. Daher implementiert man die Function nur einmal, auch völlig ohne Parameter: Dennoch ist sie mit beliebig vielen Parametern aufrufbar, die über arguments einzeln ansprechbar sind.


function funcwithparam() {
  console.log("funcwithparam: Anzahl Parameter: " 
               + arguments.length);
  for (var y = 0; y < arguments.length; y++) {
    if (arguments[y].length > 0) {
      var arr = arguments[y];
      for (var yy = 0; yy < arr.length; yy++) 
        console.log(arr[yy].valueOf());
    }
    else console.log(arguments[y].valueOf());
  }
}
// Funktionsaufruf mit 4 Parametern
funcwithparam("A", 
              new Array("1", "2", "Hallo", 57), 
              "B", "C");

Das Ergebnis:


funcwithparam: Anzahl Parameter: 4
A
1
2
Hallo
57
B
C

Das funktioniert auch dann, wenn eines oder mehrere Parameter aus kompletten Arrays oder komplexen Objekten irgendwelcher Typen ("Klassen") besteht. Weitergehende Typprüfungen mit typeof, instanceof, parseInt können dann innerhalb der Function implementiert werden. - Ist das flexibel genug? Vermutlich ja. Jedenfalls bieten sich hier ideale Bedingungen, Functions für alles mögliche zu implementieren.

wg / 6. September 2020



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/javascript1.html