Scriptease.js: Über den Umgang mit Funktionen
Neuer Thread
Ansicht umschalten Baum an
Avatar von uldb

uldb

702 Beiträge seit 17.11.2011

11.04.2012 21:22 Permalink

Re: Der Trick mit (...)

Hanspeter Spalinger schrieb am 10. April 2012 11:26

> > (function () {
> >   // Do something ...
> > })();

> Kann mir mal jemand sagen was das für ein Konstrukt ist? Ich sehe das
> immer mal wieder.
> Was passiert wenn ich diese Runden Klammern verwende?

Steht im Artikel. Ohne die Klammern frisst es der Parser nicht, weil
er bei function am Zeilenanfang eine Funktionsanweisung erwartet. Du
willst aber einen Funktionsausdruck, weil du den Rückgabewert, der ja
die definierte Funktion ist, direkt aufrufen willst. Also machst du
dem Parser klar, dass jetzt ein Ausdruck kommt, indem du den Ausdruck
in runde Klammern packst.

> Sind das normale klammern so wie man sie auch im Ausdruck ((1+2)*3)
> verwendet?

Ja. Der "Rückgabewert" von (1) ist 1. Der Rückgabewert von
(function(){}) ist die (hier leere) Funktion. Diesen Rückgabewert
kannst du aufrufen wie jede andere Funktion, indem du die Parameter
(hier keine) in runden Klammern dranhängst (function(){})();

Bewerten - +
Anzeige

THEMENFOREN

ARTIKELFOREN