Wie schreibe ich das in Coffeescript?
f = (function(){
// something
})();
Danke für alle Tipps :)
javascript
javascript-framework
coffeescript
user537339
quelle
quelle
f = do -> console.log x
-> console.log 'this runs right away'
zuf
und führt sie dann aus. Ihr führt die Funktion aus und weist ihr Ergebnis dannf
wie in der ursprünglichen Frage zu. (Im Fall vonconsole.log
ist der Rückgabewert jedoch immerundefined
.){f: do -> // something}
do
können Sie auch Argumente an die Funktion übergeben. Um1
und2
als Parameterx
und zu übergebeny
, schreiben Siedo (x = 1, y = 2) ->
. (Die Dokumentation für diese Funktion ist verloren gegangen , aber das Problem, bei dem die Funktion eingeführt wurde, enthält einige Beispiele.)Wenn Sie die Argumente, die an die selbstaufrufende Funktion in CoffeeScript übergeben werden, "aliasen" möchten, und sagen wir, dies ist das, was Sie erreichen möchten:
Dann
do (window, document) ->
lass dich das nicht tun. Der Weg ist dann mit den Eltern:quelle
do (global=window, doc=document) ->
Beim Kaffee ist es lächerlich einfach:
wird zurückkehren
quelle
Sie können das
do
Schlüsselwort auch mit Standardfunktionsparametern kombinieren, um rekursive "selbstinitiierende Funktionen" mit einem Anfangswert zu setzen. Beispiel:quelle
versuchen zu benutzen
quelle
Dadurch wird ein selbstausführender Abschluss erstellt, der für das Scoping nützlich ist.
quelle
Entschuldigung, ich habe es gelöst:
quelle
do
Schlüsselwort weist einige Einschränkungen auf, die es manchmal erforderlich machen, den JS-Ansatz zu verwenden (siehe Problem 960 ).do
wurde wirklich nur wegen des Anwendungsfalls "Loop-with-Closures" hinzugefügt.Es sollte sein
quelle