您好,登錄后才能下訂單哦!
這篇文章主要介紹了JavaScript純函數是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
純函數是指不依賴于且不改變它作用域之外的變量狀態的函數。
純函數的返回值只由它調用時的參數決定,它的執行不依賴于系統的狀態(執行上下文)。
相同的輸入參數,一定會得到相同的輸出,也就是內部不含有會影響輸出的隨機變量。
不屬于純函數的特點:
更改文件系統
往數據庫插入記錄
發送一個 http 請求
可變數據
打印/log
獲取用戶輸入
DOM 查詢
訪問系統狀態
純函數的作用:
可靠性:函數返回永遠和預期一致
可緩存性:因為只要輸入一樣輸出一定一樣,因此可將輸入作為key,輸出作為值,使用對象緩存已經計算的結果
可移植性:因為沒有外部依賴,所以移植到任何環境都可正確運行
可測試性:方便針對函數做單元測試
可并行性:對一些復雜計算,可以并行計算(例如使用nodejs多個子進程同時并行計算多個任務,提高計算速度)
應用場景:
工具函數最好使用純函數
多平臺使用的代碼(nodejs、瀏覽器、微信小程序、native客戶端等)
相對獨立的功能
var a = 1; // 非純函數 function sum(b) { return a + b; } // 非純函數 function sum(b) { a = 2; return b; } // 非純函數 function sum(b) { return b + Math.random(); } // 純函數 function sum (b, c) { return b + c; }
感謝你能夠認真閱讀完這篇文章,希望小編分享的“JavaScript純函數是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。