你是否知道JavaScript其實也是一個函數式編程語言呢?本指南將教你如何利用JavaScript的函數式特性。
要求:你應當已經對JavaScript和DOM有了一個基本的了解。
寫這篇指南的目的是因為關于JavaScript編程的資料太多了但是極少的資料提到了JavaScript的函數式特性。在本指南中,我只會講解這些基本知識而不會深入其它的函數式語言或這是Lambda算子。
你可以點擊所有的例子然后你所看到的代碼就會被執行,這樣就可以令指南變得具有交互性。你也可以使用這個沙箱來嘗試。
我們將首先介紹匿名函數。一個匿名函數就是一個沒有名字的函數。
你可以認為他們是一次性函數。當你只需要用一次某個函數式,他們就特別有用。通過使用匿名函數,沒有必要把函數一直放在內存中,所以使用匿名函數更加有效率。
例Example:
下面兩個函數處理同樣的事情,而 average在給z賦值結束之后一直保留——但匿名函數則不會。function average(x,y) { return (x+y)/2;}var z = average(1,3);alert(z);
var z = function(x,y) { return (x+y)/2; } (1,3);alert(z);
這很自然得引出了我們下面的一節課函數作為值。
事實上,我們一般在JavaScript中聲明函數的方式可以看作是一個簡化了的語法(也就是語法糖,syntactic sugar)。
例:
下面兩個表達式其實完全一樣。所以左邊的表達式僅僅是右邊的簡寫。function average(x,y) { return (x+y)/2;}alert( average(1,3) );
var average = function(x,y) { return (x+y)/2;}alert( average(1,3) );
新聞熱點
疑難解答