Felix Riesterer: seltsame (zumindest mir unbekannte) Syntax

Beitrag lesen

Liebes Forum,

heute habe ich mir Struppis Javascript-Funktion "addEvent" heruntergeladen, da ich sehen wollte, was daran so besonders besser sein sollte, als an der Lösung, die ich bisher verwendet hatte.

Dabei bin ich über folgende Syntax gestolpert:

if (bedingung) {  
    ( function() { ... }() )  
}

Mir ist nicht klar, was die öffnende Klammer (ist das eine Parenthese?) unmittelbar for "function()" bedeutet, und warum sie dort steht. Ich hätte verstanden, wenn dort eine echte Funktionsdeklaration stünde, etwa wie function myFunc() { } oder aber auch myFunc = function () {}. Besonders verwirrend sind für mich die letzten Klammern unmittelbar vor dem Schließen des Anweisungsblocks.

Soll das ganze eine gigantische anonyme Funktion sein, die in sich neue Funktionen definiert?

Liebe Grüße aus Ellwangen,

Felix Riesterer.