部分讨论都是基于没有key的情况diff速度会更快。确实,这种观点并没有错。没有绑定key的情况下,并且在遍历模板简单的情况下,会导致虚拟新旧节点对比更快,节点也会复用。而这种复用是就地复用,一种鸭子辩型的复用。以下为简单的例子 <d...
防抖 触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间 思路 每次触发事件时都取消之前的延时调用方法 function debounce(fn) { let timeout = null; //...
深度优先遍历和广度优先遍历,我是从dom节点的遍历来理解这个问题的。 html代码 我将用深度优先遍历和广度优先遍历对这个dom树进行查找。 深度优先遍历 深度优先遍历DFS 与树的先序遍历比较类似。 假设初始状态是图中所有顶点均未被访问...
实现方法 function _new(fn, ...arg) { const obj = Object.create(fn.prototype); const ret = fn.apply(obj, arg); re...
解答一 HTTP2采用二进制格式传输,取代了HTTP1.x的文本格式,二进制格式解析更高效。 多路复用代替了HTTP1.x的序列和阻塞机制,所有的相同域名请求都通过同一个TCP连接并发完成。在HTTP1.x中,并发多个请求需要多个TCP连接...
class 声明会提升,但不会初始化赋值。Foo 进入暂时性死区,类似于 let、const 声明变量 const bar = new Bar(); // it's ok function Bar() { this.bar = 42;...
npm安装机制 发出npm install命令 查询node_modules目录之中是否已经存在指定模块 若存在,不再重新安装 若不存在,npm 向 registry 查询模块压缩包的网->下载压缩包,存放在根目录下的.npm目录里...
这个系列,俺将跟大家一起总结总结前端中常见的面试题。 本文,俺将介绍如何解决跨域。 什么是跨域 首先,需要解释的是同源策略,因为跨域就是由同源策略引起的。 同源策略:protocol、port和host都相同的话,则两个URL是同源。...
合理的title、description、keywords:搜索对着三项的权重逐个减小,title值强调重点即可,重要关键词出现不要超过2次,而且要靠前,不同页面title要有所不同;description把页面内容高度概括,长度合适,不...
通常当鼠标滑动到元素上的时候显示。 alt是<img>的特有属性,是图片内容的等价描述,用于图片无法加载时显示、读屏器阅读图片。 可提图片高可访问性,除了纯装饰图片外都必须设置有意义的值,搜索引擎会重点分析。...