在我心中--(前端 備註知識點)

(一)瀏覽器端

協議相關

https (TLS / SSL)

http2.0

JS Number 精度丟失問題

場景: 服務端 Java 接口返回一個 Long 的值,太大,瀏覽器在轉換爲JSON 的時候 會 轉換爲瀏覽器最大值

  • JS Number 最大值 2的53次方-1
  • JAVA Long 最大值 2的63次方-1

在這裏插入圖片描述

js防抖和節流

  • 防抖 :一定時間內只執行一次
  • 節流 :頻繁請求 ,減少請求次數(select 的search ,scroll 監聽等)
  // 節流函數 減少請求
  // 考慮兩種情況,沒有輸入後300毫秒進行請求,300ms 後數據未返回,有進行的輸入,可以對前面的接口 abort 保存list 情況
            const req = {
              num: 0,
              key: '',
              list: [],
            };

            const fun4search = key => {
              req.num++;
              req.key = key;
              new Promise(resolve => {
                const old = { ...req };
                setTimeout(() => {
                  if (old.num === req.num && req.key) { 
                    // 請求---
                    console.log('---123', old, req);
                  }

                  resolve();
                }, 1000);
              });
            };

瀏覽器端垃圾回收機制

(二)服務器端

常見問題

問題:js 合併好還是不合並好?

  • 合併

優點:減少請求次數,和網絡開銷,
缺點: 資源太大,下載緩慢,容易卡頓

  • 不合並

優點:在http2 的情況下網絡開銷是一致的,利用瀏覽器並行下載 加訪問速度
缺點:。。。。

  • 備註

瀏覽器是並行下載 script 的資源然後,同步進行解析的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章