JavaScript函數式編程庫 Prelude.ls

openkk 12年前發布 | 26K 次閱讀 JavaScript開發 JavaScript

Prelude.ls是一個JavaScript函數式編程庫,這是一個基礎庫,在一定程度上基于Haskell(一種純函數式編程語言)的Prelude模塊。

Prelude.ls基于LiveScript編寫,LiveScript是JavaScript語言的前 身,由網景(Netscape)在設計瀏覽器的時候,為了提高網頁設計的互動性而開發。隨后Netscape與Sun公司進行合作,共同發展 LiveScript語言,并將LiveScript語言改名為JavaScript。

JavaScript函數式編程庫 Prelude.ls

與其他的庫(如underscore.js)不同,在prelude.ls中,所有函數被“柯里化(Currying)”,是指把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)的函數,并且返回接受余下的參數且返回結果的新函數。


var takeFour = take(4);
takeFour('hello there'); //=> 'hell'

對象映射到對象,字符串映射到字符串:

map(function(x){ return x*2; }, {d: 3, e: 4}); //=> {d: 6, e: 8}

在某些情況下,可以使用對象來作為函數:

map({on: 1, off: 0}, ['on', 'on', 'off', 'on', 'off']); //=> [1, 1, 0, 1, 0]


來自 iteye


項目主頁:http://www.baiduhome.net/lib/view/home/1340007193252

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!