性色xxx-性色欧美xo影院-性性欧美-性夜影院爽黄a爽免费看网站-久青草国产观看在线视频-久青草国产免费观看

推廣 熱搜: 廣場  Java  app  Word  營業  微信公眾號  北京代理記賬  商城  代理記賬  商標交易 

es6 map 的實現原理 如何更優雅的寫好JavaScript?

   2023-05-06 企業服務招財貓140
核心提示:今天翻了翻一年多前寫的代碼,感覺年輕的自己寫的代碼真的是一個模式(不過現在好不了多少)。最近看了很多關于函數式編程和設計模式的書籍和文章,想分享一些讓JS代碼更優雅的小技巧。1.善用函數式編程2.lo

今天翻了翻一年多前寫的代碼,感覺年輕的自己寫的代碼真的是一個模式(不過現在好不了多少)。最近看了很多關于函數式編程和設計模式的書籍和文章,想分享一些讓JS代碼更優雅的小技巧。

1.善用函數式編程

2.lodash中一些有用的東西(LODASH是著名的JS工具庫,里面包含了很多函數方法和接口。在項目中引入邏輯可以簡化很多冗余的邏輯。)

babel介紹babel是一個js編譯器。我們通常使用react、vue等框架編譯成瀏覽器可以執行的代碼。個人感覺巴別塔是前端建筑中最低最核心的部分。沒有它,前端肯定會回到刀耕火種的時代。

既然是編譯器,當然會操作很多文件。在babel/core中,它讀取包括babelrc、pkgjson、插件、預置等在內的大部分文件。,所以緩存操作文件的結果是必不可少的!

巴別塔的緩存機制假設我們正在處理一個文件。對象和數組通常被用作js中的緩存容器。babel使用了es6提供的map,但它實際上是一個對象,只是它的鍵是任意的(不限于字符串)。

好了,現在我們有了一個緩存容器(map),那么關鍵是什么呢?用來標記一個文件,一般可以選擇使用文件的路徑和文件名的md5值,babel使用的是前者。

處理文件的過程可以定義一個handle方法,文件路徑是handle的一個參數。有時候只有一個文件路徑不能滿足業務邏輯,還需要傳入其他參數,所以handle還有第二個參數。

這里babel封裝了第二個參數,使之成為具有狀態管理能力的對象,所以handle的第二個參數就是這個對象。

句柄處理后,你會得到這次一個文件的處理結果值。是否要現在保存地圖中的值?對不起,它不是的!

CacheConfigurator是一個具有狀態管理能力的對象,可以在句柄處理過程中進行修改。得到value的值后,需要識別CacheConfigurator的狀態。

CacheConfigurator有三種狀態:

紅色字體的有效項是check函數never,不需要緩存。

永遠,你需要緩存,但是下次處理這個文件的時候,跳過驗證部分,直接返回值。

有效,下次當處理這個文件時,你需要通過驗證邏輯有效。

那么這個檢查邏輯是怎么來的呢?

那個沒錯,它是在處理CacheConfigurator時由handle傳入的。

下次處理這個文件的時候,優先考慮緩存的邏輯,只有通過驗證后,才直接返回值!

整體思路是這樣的,蒙大拿的思路還是很微妙的。這個思路在其他業務中也可以參考!

喜歡我的回答就關注我。有問題可以評論。讓讓我們一起學習,一起成長!

 
反對 0舉報 0 收藏 0 打賞 0評論 0
 
更多>同類資訊
推薦圖文
推薦資訊
點擊排行
合作伙伴
網站首頁  |  關于我們  |  聯系方式  |  使用協議  |  版權隱私  |  網站地圖  |  排名推廣  |  廣告服務  |  積分換禮  |  網站留言  |  RSS訂閱  |  違規舉報  |  冀ICP備2023006999號-8
 
主站蜘蛛池模板: 国产国语videosex | 欧美一区二区久久精品 | 一级生活毛片 | 亚洲欧洲精品成人久久曰 | 国产精自产拍久久久久久 | 男女午夜爽爽大片免费 | 一级毛片一级毛片 | 欧美日韩国产另类一区二区三区 | hd中国xxxx| 欧美日本一| 黄色一级黄色片 | 色456| 亚洲人成在线中文字幕 | 欧美香蕉视频 | 久久手机免费视频 | 永久免费在线播放 | 成年男人永久免费看片 | 欧美日韩一区在线观看 | 成人毛片在线 | 97porm自拍视频区原创 | 亚洲欧美综合一区二区三区四区 | 欧美日韩在线观看一区 | 亚洲欧洲国产成人精品 | 欧美色片在线观看 | 国产免费怕怕免费视频观看 | 最近2019的中文字幕免费 | 琪琪在线视频 | 午夜在线视频国产 | 三级网站日本 | 成人性a激情免费视频 | 一男四女乱肉荒岛小说 | 色原网站 | 久久精品成人国产午夜 | 色爱区综合激情五月综合色 | 国产大片中文字幕在线观看 | 黄漫视频网站 | 成人3p视频免费 | 天天射影院 | 国产视频中文字幕 | 亚洲一区在线播放 | 夜夜操天天干 |