ChrisB: Irren ist menschlich

Beitrag lesen

Hi,

Und – das könnt ihr mir hoffentlich bestätigen – auch folgende Variante funktioniert:

window.onload = function () { ({...}).init(); };

Ist ja auch logisch, weil onload jetzt eine richtige Funktion ist.

Nein das funktioniert nicht, neben der falschen Klammerung, weist du onload keine Funktionsreferenz zu, sondern den Rückgabewert der Funktion init()

Ähem... kann es sein dass du dich jetzt irrst?

Ja, sieht so aus.

Aufgedröselt ist es doch so:

window.onload = function ()   // => eine Funktionsreferenz wird zugewiesen,
{
  ({...}).init();             // => im Funktionskörper wird eine Funktion ausgeführt, die keinen Rückgabewert hat,
};                            // => das war's. Es wird auch nichts zurückgegeben.


>   
> Keine der Funktionen gibt also etwas zurück, aber die Zuweisung ist eine Funktionsreferenz.  
  
Ja, stimmt soweit (ich das sehe).  
Wenn du es allerdings mit deinem Code jetzt schon schaffst, jemanden wie Struppi zu verwirren, der ebenso wie molily JavaScript schon zum Fruehstueck liest (und schreibt), wie andere ihre Tageszeitung - dann wuerde ich an deiner Stelle noch mal ueberdenken, ob du dein Ziel, den Code so verstaendlich und uebersichtlich wie moeglich zu halten, in dem du ihn jeder "ueberfluessigen" Klammer beraubst und auch sonst einiges an "fortgeschrittenen" Techniken zusammenmixt, wirklich erreichst ...  
  
Nichts gegen ein "raffiniertes" Stueckchen Code hier und da, manches laesst sich wirklich kuerzer und effizienter notieren als in den "gaengigen" Formen - aber wenn man den eigenen Code vor lauter Raffinesse, gekuerztem "Ueberfluessigem" und Verschachtelung diverser Spezialnotationen in ein paar Wochen selber nicht mehr versteht (oder aber fuenf Zeilen Code mit 50 Zeilen Kommentierung versehen muss, um es doch noch zu tun), dann hat man nur wenig gewonnen.  
  
Versuche da also eine ausgewogene Balance (weisser Schimmel, I know ...) zu finden - und nicht auf Teufel komm' raus von "Bewaehrtem" abzuweichen.  
  
MfG ChrisB