2011-11-06 39 views
1

調用語法匿名函數如何寫的CoffeeScript在CoffeeScript中

foo(function() { 
    return doSomethingCompicated(); 
}()) 
+0

這與'foo(doSomethingCompicated())'相同。爲什麼這麼複雜(雙關語意)? –

+0

這只是一個例子...我有多行代碼的匿名函數... –

+0

同樣的問題也適用。爲什麼匿名函數,如果你只是立即調用它?這是命名空間污染的問題嗎? –

回答

2
foo do -> doSomethingComplicated() 

somting這樣編譯爲

foo((function() { 
    return doSomethingComplicated(); 
})()); 

你也可以這樣寫:

foo do -> do doSomethingComplicated 
0

我不會問爲什麼這是需要的,但她e是直接翻譯過來(不):

foo (-> doSomethingComplicated())() 

注後的空間。