在我心中--(前端 备注知识点)

(一)浏览器端

协议相关

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 的资源然后,同步进行解析的

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