自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 diff算法

虚拟dom:使用真实dom时,每次修改都会发生重排重绘,影响性能。而使用虚拟dom就是先将真实dom映射为一个js对象,每次修改会生成一个新的js对象,与之前生成的对象进行对比,替换、删除、增加。操作虚拟DOM可以操作多次然后与真实DOM进行比较,把修改的节点进行attch,这样节省执行操作次数。提高性能。diff算法:两个相同的组件产生类似的DOM结构,不同的组件产生不同的DOM结构;同一层级的一组节点,他们可以通过唯一的id(key)进行区分。在采取diff算法比较新旧节点的时候,

2021-05-24 11:16:56 74

原创 前端性能优化

如果一个界面加载慢、卡顿,大概会有两方面的原因:网络问题发送网络请求收到响应有延时渲染问题JS阻塞渲染解决:<script>标签放在最后引入图片过多,却一次性加载解决:图片懒加载图片过大...

2021-05-23 17:58:14 38

原创 长连接、长轮询、WebSocket

这里只记录一下自己总结的区别:长连接:每次发送http请求以及响应后,http连接关闭,TCP连接都不关闭,直到http keep-alive 时间到TCP连接才关闭;服务端是不管有没有新数据都会马上产生响应;长轮询:每次发送http请求以及响应后,http连接关闭,TCP连接也关闭,而且收到请求后发起第二次ajax请求(再次连接TCP,http);服务端收到请求后是先监测有没有新数据,如果没有,则先不进行响应,待有新数据时再响应。(这里客户端有一个等待时间,如果等待时间内都没有收到相

2021-05-20 14:29:33 53

原创 事件循环相关

面试中被问到一段差点看懵的代码setTimeout(function(){ setTimeout(function(){ console.log(1); }, 100); new Promise(resolve => { console.log(2); resolve(3); setTimeout(function(){ console.log(4); }, 1); }).then((number) => { console.log(number) })

2021-05-19 16:03:12 42

原创 记不住系列——DNS解析

查找浏览器缓存有没有解析过操作系统检查自己本地的hosts文件查找本地DNS解析缓存查找本地DNS服务器,a.前面所有步骤没有缓存的情况下,本地 DNS 服务器会将请求转发到互联网上的根域,你的ISP的DNS服务器从根域名服务器开始进行搜索;【全球仅有13台根域名服务器,1个主根域名服务器,其余12为辅根域名服务器。】b.根域名收到请求后会查看区域文件记录,若无则将其管辖范围内顶级域名(如.com)服务器IP告诉本地DNS服务器;c.顶级域名服务器收到请求后查看区域文件记录,若无则将其管辖范..

2021-05-14 17:37:18 2262

原创 记录一些(常被问到的)JS数组API

1. arr.map()map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map() 方法按照原始数组元素顺序依次处理元素。注意: map() 不会对空数组进行检测。注意: map() 不会改变原始数组。var a = [1, 2, 3];var c = function (x) { return x + 2;}var b = a.map(c);console.log(b);//[3,4,5]2. arr.reduce()reduce() 方

2021-05-11 17:14:40 28

原创 记录几个页面刷新的小问题

使用vue jquery ajax定时器实现页面实时刷新时,发现内存中的数据虽然改变,但页面中绑定的数据并没有发生变化。修改前,数据也发生变化(后面就知道这个打印的数据并不是希望打印的对象)查了一下页面不发生变化的原因,是this指向的问题;加入context: this,修改前打印的this指向的是success这个函数,所以,相当于在这个函数里重新声明了一个对象,与vue中的同名对象无关。Jquery ajax 中context通过设置context对象,让回调函数内this指向这个对象,如果

2021-04-25 17:53:02 43

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除