n'Abend,
Die Erkältung trübt meine Konzentration. ;-)
Gute Besserung!
danke, ja ... morgen bleibe ich mal noch zuhause, übermorgen wird's schon wieder okay sein. Hoffe ich.
// Freihand
$('#elem').on('click', function() {
$(function() {
// script, das was tut
});
});
>
> Wie könnte hier eine Anonyme Funktion nützlich sein? Etwas berechnen lassen bringt mir ja nichts ohne return.
Doch, warum nicht? Sie könnte "live" im DOM rumstochern, Eigenschaften von DOM-Knoten verändern, so das Erscheinungsbild oder das Verhalten der Webseite beeinflussen. Das ist doch schon eine ganze Menge.
> > Es kann also nur darum gehen, was die Funktion sonst so alles tut. Eine anonyme, sofort ausgeführte Funktion ist wirklich nur eine Alternative zu einem Stück Code, der "offen" rumsteht und beim Parsen des Dokuments ausgeführt wird. Nur ohne den globalen Namespace zu verschmutzen.
> Also statt die Eventhandler einfach so ins Script zu schreiben, lieber „privatisieren“? Da liest sich das „ja“ ja praktisch selbst aus der frage heraus ;)
Jein. Die Eventhandler sind ja meist sowieso in sich abgeschlossene Funktionen. Es geht vor allem um Initialisierungen, die nur einmal beim Laden der Webseite durchlaufen werden. Mir fällt gerade kein Beispiel ein, aber wenn eine solche Initialisierung vielleicht eine for-Schleife enthält, möchte man doch sicher sein, dass die Schleifenvariable sich nicht zufällig mit einer gleichnamigen Variablen eines anderen, zusätzlich eingebundenen Scripts beißt. Gern werden die Laufvariablen von Schleifen ja i oder n genannt. Man kann sich natürlich einen phantasievollen Namen ausdenken, bei dem die Wahrscheinlichkeit einer Kollision sehr gering wird; wenn man dieses Stückchen Code aber in eine Funktion packt und i nur lokal deklariert, hat man das Problem ganz sicher vermieden.
Schönen Abend noch,
Martin
--
Kopflosigkeit schützt nicht vor Migräne.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(