JAVASCRIPT函數式編程

1.匿名函數
咱們將首先介紹匿名函數。一個匿名函數就是一個沒有名字的函數。
你能夠認爲他們是一次性函數。當你只須要用一次某個函數式,他們就特別有用。經過使用匿名函數,沒有必要把函數一直放在內存中,因此使用匿名函數更加有效率。數組

例Example:模塊化

下面兩個函數處理一樣的事情,而average在給z賦值結束以後一直保留——但匿名函數則不會。函數

clipboard.png
2.函數做爲值學習

clipboard.png
從這裏能夠得出一個結論,函數是一個值就像字符串、數字或數組同樣。這還出現幾個問題:spa

我是否能夠把函數做爲參數傳遞?
能夠,見下面的例子。
是否能夠實時生成函數?
固然了,這是一個高級的主題,它能夠經過eval函數來完成。
例:3d

這個例子演示瞭如何把函數做爲參數傳遞。code

clipboard.png
3.兩種方式調用函數
在JavaScript中,有兩種調用函數的方式。通常的方式是把參數放在括號中,如alert(42)。另外一種方式是同時把函數和參數都放在括號中,如(alert)(42)。
例:
alert(42);
(alert) (42);
(function(x) { alert(x-13); }) (55);
爲何函數兩邊的括號很重要:若是你寫了括號,那麼在括號中的代碼就會被先計算。在計算以後,括號所在的地方就會有一個值。這個值多是一個字符串、一個數字或一個函數。
4.「短路」條件調用
如今咱們將學習如何使用「短路」條件調用。使用這個方法能夠縮短源代碼同時代碼也變得更加可讀。blog

例:這個語法並非用在左表達式上,而是用在右表達式上。事件

var f = false; var t = true;
var z;
if(f)ip

z = 4;

else if(t)

z = 2;

alert(z);

var f = false; var t = true; var z = (f&&4)||(t&&2); alert(z);好處:1.它有助於寫出模塊化和可服用的代碼。2.它對事件處理程序很是有效。3.它頗有趣!

相關文章
相關標籤/搜索