Struppi: JS-Bibliothek strukturieren

Beitrag lesen

Die Funktionen, welche von außen (öffentlich?) benutzbar sein sollen, können vordefinierte Werte haben. Es soll aber auch möglich sein, diese Werte möglichst einfach vor dem Aufruf der Funktion zu überschreiben. Natürlich könnte man diese Werte im Funktionsaufruf selbst übergeben, aber dadurch wird der Aufruf und die Definition für Laien komplizierter. Einfache Zuweisungen versteht so ziemlich jeder und ein Funktionsaufruf ist auch noch einfach, aber wenn  im Aufruf Objektstrukturen übergeben werden, kann das leicht zu Fehlern führen.

Das will mir nicht einleuchten.

lib.funktion( wert );

ist für den Laien sicher einfacher als:

lib.eigenschaft.parameter = wert;

zumal du dir so die Möglichkeit der Prüfung verbaust und eine weitere Quelle für Tippfehler einbaust.

Wenn die Parameter Struktur zu komliziert würde, lassen sich natürlich auch entpsrechende Funktionen einbauen:

lib.setValue(wert);

was auch mehr im Sinn der OO Programmierung wäre.

Ich greife dann über den Array zu, wenn ich gar nicht weiß, welche Module es gibt. In diesem Beispiel würde ich Eigenschaften (z.B. die Versionsbezeichnung) über alle enthaltenen Elemente ausgeben. Welche das sind, sollte intern definiert werden.

du kannst ja jederzeit überprüfen ob ein "Modul" (also eine Eigenschaft existiert) ein Array ist dazu nicht nötig, im gegenteil es macht sogar nur mehr Arbeit und ist langsam.

Wenn du z.b. eine Funktion nur aufrufen willst, wenn diese vorhanden ist:
if(typeof lib.func1 == 'function') lib.func();

Struppi.