04 2022 档案
摘要:https://juejin.cn/post/6992944363798003743
阅读全文
摘要:一、webpack热更新原理 1.使用 webpack-dev-server (后面简称 WDS)托管静态资源、提供websocket服务 2.webpack打包时会将HMR Runtime和源代码一起编译成 bundle 文件。HMR Runtime主要 负责接收服务发送的websocket消息,
阅读全文
摘要:一、通用的指标 性能指标英文缩写描述该指标代表的问题 首字节时间 TTFB (Time to First Byte) 浏览器开始请求到接收到第一个字节数据的时间。 网络延迟、服务端慢、SSR 渲染慢 首次绘制 FP (First Paint) 浏览器首次在屏幕上开始绘制任何像素的时间。 网络慢、HT
阅读全文
摘要:最后一条,准确的意思是动态表单项,完整的说明,看这里
阅读全文
摘要:property属于DOM,是JavaScript的对象;attribute是html的自带属性,可以通过attributes属性或者getAttribute/setAttribute方法进行访问 property的属性值可以是任意类型,attribute的属性值类型只能是string proper
阅读全文
摘要:插入排序跟打扑克牌一样,每次抽一张牌,按照从小到大的顺序插入到手里的正确位置,操作过程如下: 你从桌面上拿起第一张牌(已经排序)。 拿起第二张牌,插入到正确的位置。 拿起第三张牌,找到它应该在手中的位置,插入。 依次遍历每张牌,找到合适的位置插入。 速记口诀如下:左边有序,右边待插,拿起一张,插入应
阅读全文
摘要:1.矩形相交检测算法 两个矩形相交有如下四种情况: 如果两个矩形,假设为o1和o2,若两者相交,那么矩形o1、o2的中心点与矩形的边长是有一定关系的,如下图: if(Math.abs(x0 - x1) <= o1.width/2 + o2.width /2 && Math.abs(y0- y1) <
阅读全文
摘要:这种算法采用了分而治之的思想: 先拆分(Divide):不断将数组拆成左右两半,直到每个子数组只剩一个元素。 再合并(Merge):从最小子数组开始,逐步将其合并成有序数组。 两个数组合并时,只需要比较二个数组的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,
阅读全文
摘要:一、什么是尾调用(Tail Call) 当一个函数调用另一个函数时,如果调用语句是该函数中的最后一步,并且返回该调用结果,这个调用就是尾调用。 function foo() { return bar(); // bar()是foo()的最后一步调用,所以是尾调用 } 以下两种情况均不属于尾调用,因为
阅读全文
摘要:一、出现的背景 SameSite是HTTP响应头 Set-Cookie 的属性之一,它(在 RFC6265bis 中进行了定义)的引入使您能声明您的 cookie 是否应限制为第一方或同站上下文,从而避免CSRF(跨站伪造请求)攻击和对用户行为追踪。 该技术出现之前,假设你访问了银行的网站,登录后银
阅读全文
摘要:二分查找算法,也称折半搜索算法,是一种在有序数组中查找某一特定元素的搜索算法。算法思想是不断的缩小查找范围,步骤如下: 1️⃣ 确定基准: 选定数组的中间元素(基准值)。 如果数组大小为偶数,通常选择中间的 右侧元素(也可以选择左侧元素,但不影响算法效果)。 2️⃣ 分割数组: 将数组分成两半,基准
阅读全文
摘要:当一个长单词超过容器宽度时,如果不断句则会溢出容器,如下: 遇到这种情况,就需要断句,使用word-wrap:break-word和word-break:break-all都能达到断句的效果,两者有啥区别,看图: word-break:break-all正如其名字,所有的都换行。毫不留情,一点空隙都
阅读全文