<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                這是一個未完成章節,需要新的大量知識體系,暫時只記錄學習的表面 * 說明這個筆記 所有文章內容都是學習記錄筆記,用來做個人復習使用 >[danger] ##### 相關文章 [函數式編程指北](https://llh911001.gitbooks.io/mostly-adequate-guide-chinese/content/ch1.html) [阮一峰函數式編程入門教程](http://www.ruanyifeng.com/blog/2017/02/fp-tutorial.html) [阮一峰Pointfree 編程風格指南](http://www.ruanyifeng.com/blog/2017/03/pointfree.html) [函數式編程資料](http://www.taoweng.site/index.php/archives/197/) [Functors, Applicatives, And Monads In Pictures](http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html) [掘金--函數式編程,真香](https://juejin.im/post/6844903743117361165) [掘金--JavaScript 函數式編程(一)](https://juejin.im/post/6844903655397654535#heading-2) [函數式相關的csdn 一個系列文章](https://blog.csdn.net/zhang6223284/article/details/82560211) >[success] # js 函數式編程 ~~~ 1.函數式編程是隨著 'React' 的流行受到越來越多的關注,'Vue 3'也開始擁抱函數式編程,函數式編程可以拋棄 'this' 打包過程中可以更好的利用 'tree shaking' 過濾無用代碼,方便測試、方便并行處理,并且也出現了很多庫進 行函數式開發的庫:'lodash'、'underscore'、'ramda' 2.'函數式編程(Functional Programming, FP)',FP 是編程范式之一。 ~~~ >[danger] ##### 編程范式介紹 [編程范式總結](https://www.cnblogs.com/huilei/p/10535713.html) ~~~ 1.編程范式常聽見的有面向過程編程、面向對象編程、函數式編程。 1.1.'面向對象'編程的思維方式:把現實世界中的事物抽象成程序世界中的類和對象,通過封裝、繼承和 多態來演示事物事件的聯系 1.2.'函數式編程'的思維方式:把現實世界的事物和事物之間的聯系抽象到程序世界(對運算過程進行抽象) 1.2.1.程序的本質:根據輸入通過某種運算獲得相應的輸出,程序開發過程中會涉及很多有輸入和 輸出的函數 1.2.2.x -> f(聯系、映射) -> y,y=f(x) 1.2.3.函數式編程中的函數指的不是程序中的函數(方法),而是數學中的函數即映射關系,例如:y = sin(x),x和y的關系 1.2.4.相同的輸入始終要得到相同的輸出(純函數) 1.2.5.函數式編程用來描述數據(函數)之間的映射 ~~~ >[danger] ##### 函數式編程的特點 ~~~ 1.stateless:函數不維護任何狀態。函數式編程的核心精神是 stateless,簡而言之就是它不能存在狀態, 你給我數據我處理完扔出來,里面的數據是不變的。 2.immutable:輸入數據是不能動的,動了輸入數據就有危險,所以要返回新的數據集(想一下js 數組map方法返回 的就是新數組) 3.'函數第一位':即函數可以出現在任何地方,比如你可以把函數作為參數傳遞給另一個函數,不僅如此你還可 以將函數作為返回值 ~~~ >[danger] ##### 舉個例子求和 ~~~ // 非函數式 面向過程 let num1 = 1 let num2 = 2 let sum = num1 + num2 console.log(sum) // 函數式 /* 1. 根據輸入通過某種運算獲得相應的輸出,下面案例輸入了2,3 得到了5 2. x - > f(聯系、 映射) - > y, y = f(x) ,下面案例 sum = add(num1,num2) 特點: 1.丟給我2,3 我直接處理完還給你給5 2.輸入的2,3是沒動的沒有改變的直接返回新的數據 5 */ function add(num1,num2){ return num1 + num2 } let sum = add(2,3) console.log(sum) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看