爲什麼不寫匿名函數內容而不是匿名函數和匿名函數內容?匿名函數有用性
Q
匿名函數有用性
1
A
回答
0
我不知道這是否適用,因爲它是特定於Javascript,我沒有看到Javascript標籤,但是......一次創建+調用匿名函數並不罕見。這通常是爲了保護全球範圍內的可變污染。
var x = 1;
(function(){
var x = 2;
})();
x == 1;
0
它在那裏,所以你不必創建一個本質上無用的函數包裝器。
7
因爲你不寫一個匿名函數,然後立即調用它。它通常傳遞給其他一些可以處理它的函數(例如,使用匿名函數將數組映射到另一個數組)。
1
可能最大的用途是用於一次性功能,不會在其他地方使用,或者需要根據需要動態創建。這樣,他們不需要「污染」命名空間。
例如,在蟒:
x_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y_values = map(lambda x: x**x + 2x + 3, x_values)
通過使用拉姆達,我並不需要,以在模塊命名空間的功能只是爲了一個多項式Λ(x^2 + 2X + 3)。
有很多方面他們派上用場,特別是在函數式編程(例如查找閉包或咖喱)中。
0
它們的存在是因爲有很多次你想擁有表達式語法的方法語義。
var l = new List<int>() { 1, 2, 3, 4, 5 };
var a = l.Where(i => i > 3); // a = 4, 5
我不想打擾寫一個新的方法謂詞來檢查一個整數是否大於三。我想要一個方法的意義,我只能放一個表達式。匿名函數讓我有兩個。活泉! :)
0
如果您問「爲什麼使用lambda表達式?」,那麼有幾個答案。首先,lambda表達式是簡寫,通常比全匿名函數(即使用delegate()項)或完整的函數和委託的冗長備選更容易閱讀和理解。 Lambda表達式對於執行簡單,簡單,「富有表現力」的計算(即一組輸入中的簡單數學)也是理想的,這在軟件編程中非常常見。
Lambda表達式是一個強大的工具,可以幫助您提高代碼的表現力,簡單性和可讀性。
2
它們通常用於回調。你不能只寫內容,因爲你的代碼不會直接執行它。
相關問題
- 1. 匿名函數使用匿名函數使用此功能時
- 2. 匿名函數
- 3. 在匿名函數中調用匿名函數(初始)
- 4. PHP調用匿名函數內部匿名函數
- 5. 函數javascript:匿名但有名字?
- 6. 匿名函數和node.js性能
- 7. 匿名函數的FunctionPointer唯一性
- 8. PHP中的匿名函數性能
- 9. JQuery .each():匿名函數的性能?
- 10. 匿名函數返回類屬性? PHP
- 11. 匿名與非匿名函數Lua
- 12. Kotlin匿名函數用例?
- 13. 角使用匿名函數
- 14. 凡使用匿名函數
- 15. 調用匿名函數
- 16. 匿名函數使用#()
- 17. TypeScript匿名函數
- 18. 與匿名函數
- 19. 匿名函數pecularities
- 20. 與匿名函數
- 21. javascript匿名函數
- 22. array_walk匿名函數
- 23. JavaScript匿名函數
- 24. Tcl匿名函數
- 25. 從函數調用匿名函數
- 26. 命名匿名函數
- 27. Clojure:命名匿名函數
- 28. 匿名函數沒有輸入參數
- 29. JS匿名函數(沒有匿名功能支持)
- 30. 匿名函數與非匿名函數一樣強大
如果不是直接,它是什麼時候執行的?它甚至沒有名字! – 2009-07-11 04:26:06