<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        js函數的副作用分析_javascript技巧

        來源:懂視網 責編:小采 時間:2020-11-27 21:00:17
        文檔

        js函數的副作用分析_javascript技巧

        js函數的副作用分析_javascript技巧:函數副作用會給程序設計帶來不必要的麻煩,給程序帶來十分難以查找的錯誤,并且降低程序的可讀性。嚴格的函數式語言要求函數必須無副作用。 函數的副作用相關的幾個概念, Pure Function、 Impure Function、 Referential Transparent。 純
        推薦度:
        導讀js函數的副作用分析_javascript技巧:函數副作用會給程序設計帶來不必要的麻煩,給程序帶來十分難以查找的錯誤,并且降低程序的可讀性。嚴格的函數式語言要求函數必須無副作用。 函數的副作用相關的幾個概念, Pure Function、 Impure Function、 Referential Transparent。 純

        函數副作用會給程序設計帶來不必要的麻煩,給程序帶來十分難以查找的錯誤,并且降低程序的可讀性。嚴格的函數式語言要求函數必須無副作用。
        函數的副作用相關的幾個概念, Pure Function、 Impure Function、 Referential Transparent。
        純函數 ( Pure Function )
        輸入輸出數據流全是顯式(Explicit)的。 顯式(Explicit)的意思是,函數與外界交換數據只有一個唯一渠道——參數和返回值。函數從函數外部接受的所有輸入信息都通過參數傳遞到該函數內部。函數輸出到函數外部的所有信息都通過返回值傳遞到該函數外部。
        非純函數 ( Impure Function )
        與之相反。 隱式(Implicit)的意思是,函數通過參數和返回值以外的渠道,和外界進行數據交換。比如讀取/修改全局變量,都叫作以隱式的方式和外界進行數據交換。
        引用透明 ( Referential Transparent )
        引用透明的概念與函數的副作用相關,且受其影響。 如果程序中兩個相同值得表達式能在該程序的任何地方互相替換,而不影響程序的動作,那么該程序就具有引用透明性。它的優點是比非引用透明的語言的語義更容易理解,不那么晦澀。純函數式語言沒有變量,所以它們都具有引用透明性。
        以下示例說明了引用透明與函數副作用的結合
        代碼如下:
        result1 = (fun(a) + b) / (fun(a) -c);
        temp = fun(a);
        result2 = (temp + b) / (temp -c);

        如果函數沒有副作用,那么result1和result2將是等價的。然而如果fun有副作用,比如讓b或c加1,那么result1和result2將不相等。因此,副作用違背了引用透明性。
        在JavaScript中,引入了函數。但顯然JS中的函數可以訪問、修改全局變量(或定義在函數外的變量),如下
        代碼如下:
        var a = 5;
        function fun(){
        a = 10;
        }
        fun(); // a 變成了10

        JS中要想保證函數無副作用這項特性,只能依靠編程人員的習慣,即
        1,函數入口使用參數運算,而不修改它
        2,函數內不修改函數外的變量,如全局變量
        3,運算結果通過函數返回給外部(出口)

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        js函數的副作用分析_javascript技巧

        js函數的副作用分析_javascript技巧:函數副作用會給程序設計帶來不必要的麻煩,給程序帶來十分難以查找的錯誤,并且降低程序的可讀性。嚴格的函數式語言要求函數必須無副作用。 函數的副作用相關的幾個概念, Pure Function、 Impure Function、 Referential Transparent。 純
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲AV无码乱码在线观看富二代 | 成人人免费夜夜视频观看| 99视频在线免费| 99精品视频在线观看免费播放| 免费人成网站在线播放| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 4455永久在线观免费看| 永久免费的网站在线观看| 天天看片天天爽_免费播放| 亚洲理论精品午夜电影| 亚洲精品国产综合久久久久紧| 在线观看亚洲免费视频| 一级特级aaaa毛片免费观看| 国产一区二区三区免费| 在线观看永久免费| 亚洲国产成人精品女人久久久 | 大片免费观看92在线视频线视频| 丁香花在线视频观看免费| 成年黄网站色大免费全看| 又黄又爽无遮挡免费视频| 亚洲精华国产精华精华液网站| 尤物永久免费AV无码网站| 亚洲另类激情综合偷自拍图| 亚洲AV无码乱码麻豆精品国产| 精品亚洲成a人在线观看| 97av免费视频| 亚洲欧洲国产成人综合在线观看 | 亚洲欧洲精品视频在线观看| 成人免费福利视频| 亚洲国产成人无码AV在线| 成人免费视频国产| 国产久爱免费精品视频 | 亚洲乱人伦精品图片| 国产日韩AV免费无码一区二区三区 | 国产精品极品美女免费观看 | 亚洲国产老鸭窝一区二区三区| 亚洲色一区二区三区四区| 免费人成网站在线观看不卡| 亚洲gv猛男gv无码男同短文| 国产h肉在线视频免费观看| 国产亚洲欧美在线观看|