国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

函數(shù)式編程入門實踐(一)

2019-11-19 11:44:39
字體:
來源:轉載
供稿:網(wǎng)友

在文章之前,先和大家講一下對于函數(shù)式編程(Functional Programming, aka. FP)的理解(下文我會用FP指代函數(shù)式編程):

  1. FP需要保證函數(shù)都是純凈的,既不依賴外部的狀態(tài)變量,也不產(chǎn)生副作用。基于此前提下,那么純函數(shù)的組合與調(diào)用,在時間順序上就不會產(chǎn)生依賴,改變多個函數(shù)的調(diào)用順序也不必擔心產(chǎn)生問題,因此也會消滅許多潛在的bug。
  2. 函數(shù)必須有輸入輸出。如果一個函數(shù)缺乏輸入或輸出,那么它其實是一段處理程序procedure而已。
  3. 函數(shù)盡可能的保持功能的單一,如果一個函數(shù)做了多件事情,那么它理論上應當被拆分為多個函數(shù)。
  4. FP的意義之一就是,在適當?shù)臅r機使用聲明式編程,抽象了程序流的控制與表現(xiàn),從理解和維護的角度上會勝于命令式編程。
  5. FP是一種范式,但并不意味這和OOP(面向對象編程)沖突,兩者當然是可以和諧共存的。個人認為 React 其實就是一個很好的栗子~
  6. Javascript的函數(shù)一等公民以及閉包的特性,決定了Javascript的確是適合施展FP的舞臺

理解閉包

閉包對于 Javascript 來說,當然十分重要。然而對于函數(shù)式編程來說,這更加是必不可少的,必須掌握的概念,閉包的定義如下:

Closure is when a function remembers and accesses variables from outside of its own scope, even when that function is executed in a different scope.

相信大部分同學都對閉包有不錯的理解,但是由于對FP的學習十分重要。接下來我還是會

主站蜘蛛池模板: 德令哈市| 吴堡县| 金秀| 富民县| 南和县| 余江县| 大新县| 定西市| 无锡市| 巨鹿县| 汕头市| 南安市| 都兰县| 阿拉尔市| 沭阳县| 滨海县| 沾化县| 霍州市| 清远市| 平南县| 景洪市| 来宾市| 防城港市| 大港区| 中牟县| 汾西县| 图们市| 大名县| 曲水县| 五指山市| 余江县| 肇庆市| 安乡县| 清新县| 靖安县| 凌海市| 安庆市| 静宁县| 通渭县| 清徐县| 治多县|