Funktion in einem Schritt definieren und aufrufen

Gibt es eine Möglichkeit in Javascript eine Funktion definieren, und rufen Sie sofort, in einer Weise, die es erlaubt, die wiederverwendet werden können?

Ich weiß, Sie tun können, one-off anonyme Funktionen:

(function(i) {
    var product = i * i;
    console.log(product);
    //Can't recurse here because there's no (ECMA standard) way for the 
    //function to refer to itself
}(2)); //logs 4

Oder der name einer Funktion, dann nennen Sie es danach:

function powers(i) {
    var product = i * i;
    console.log(i * i);
    if (product < 1e6) { powers(product) };
}

powers(2); //Logs 4, 16, 256...

Aber gibt es eine sauberere Möglichkeit zum definieren und aufrufen einer Funktion in einem Rutsch? Wie eine Art hybrid der beiden Beispiele?

Nicht in der Lage, dies zu tun ist nicht, hindert mich daran, etwas zu tun, aber es fühlt sich an wie es würde sein eine schöne expressive Weise zu schreiben von rekursiven Funktionen oder die Funktionen, die ausgeführt werden müssen, auf $(document).ready() aber auch später, wenn sich Situationen ändern, etc.

Kommentar zu dem Problem

InformationsquelleAutor der Frage quis | 2011-09-21

Schreibe einen Kommentar