从Vue3源码中分析key的作用 在文档中说到: key 的特殊 attribute 主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes。 如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试就地修改/复用相同类型元素的算法。 而使用 key 时,它会基于 key 的变化重新排列元素顺序,并且会移除/销毁 key 不存在的元素。 在分析之前需要简单了解俩个概念 Vnod 2021-06-03 Vue.js #Vue3
methods中this指向问题 前言在看Vue文档时,提到了 methdos中的函数是不能使用箭头函数的 这其实在Vue文档中已经给出答案了,因为 箭头函数是没有this 的, 默认this指向是指向上一级作用域。 所有如果我们在methods中的函数使用箭头函数的话,那么this指向将会指向上一级作用域, 则就是 window了。 那么Vue是如何将methods中的函数this指向改变的?我们在Vue源码中可以找到答案,通过 2021-05-18 HTTP #HTTP
HTTPS是如何保障数据传输安全的 需要对密码学简单认识一下什么是对称加密、非对称加密、单向散列、消息认证码、数字签名、证书、PKI 体系 信息安全 机密性:信息是否被泄漏。使用对称加密、非对称加密来保证 完整性:信息是否被修改,使用单向散列、消息认证码、数字签名来保证 真实性:发送者是否冒名顶替的。使用消息认证码、数字签名来保证 不可否认性:做过了会不会抵赖。使用数字签名来保证 对称加密实现信息安全的机密性,那么可以使用对称加 2021-04-02 HTTP #HTTP
keep-alive与多路复用 HTTP 1.0在HTTP1.0版本,存在一个问题:建立的一次连接,只有包含一个请求响应(也就是对应一个资源)。 如果有多个请求,那么效率就会很低。 HTTP 1.1在HTTP 1.1 中 connection: keep-alive 是默认开启的 改进一:连接复用一次连接,可以有多个请求响应(对应多个资源)。 改进二:增加流水线(pipeline)下一次的请求不需要等待上一个响应来之后再发送 2021-03-28 HTTP #HTTP
一次弄懂HTTP缓存 情况一: Cache-Control:max-age = 60 时 情况二: Cache-Control:max-age = 0 or no-cache 时 HTTP缓存流程图 HTTP缓存相关面试题1.说一下浏览器的缓存机制(HTTP如何控制缓存的) 浏览器第一次向服务器发请求资源,服务器响应报文的状态是200,响应头会带上Cache-Control、Etag字段 。 浏览器收到响应后会把资源 2021-03-27 HTTP #HTTP
重写数组遍历方法(forEach,filter,map,reduce) 直接上代码了12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667Array.prototype.myForEach = function (callback) { let arg2 = 2021-03-20 JavaScript #JavaScript
重写bind,call,apply方法 前言不能使用ES6的语法糖来实现,比如(解构赋值,symbol) call方法想要对call 的重写,前提是需要知道 call 的几个特点:(假设有一个 函数 test) test 调用 call() ,那么就会执行 text。 test 中的this 指向 call 的第一个参数。 call 的第二个参数开始,都在test函数的参数列表中 12345function test() { 2021-03-17 JavaScript #JavaScript
实现几个经典排序算法 冒泡排序冒泡排序实现思路 冒泡排序算法相对其他排序运行效率较低,但是在概念上他是排序算法中最简单的 思路: 依次比较相邻的数字,如果前一个比后一个大,那么就交换。 即 小数放在前,大数放在后边。 然后比较第2个数和第3个数,小数在前,大数在后,依次类推则将最大的数滚动到最后边。 开始第二趟,将第二大的数移动至倒数第二位 依次类推….. 最后需要 第 (n-1) 趟就能完成排序。 参考动画: 2021-03-16 算法 #算法
三次握手和四次挥手 关于TCP的 三次握手关于TCP协议TCP(Transmission Control Protocol,传输控制协议) 是一种面向连接的,可靠的,基于字节流的传输层通信协议。 与之对应的是UDP(User Datagram Protocol,用户数据协议),是不可靠的传输层协议。 关于TCP报文 在了解什么三次握手之前,我们需要知道TCP报文的一些知识。 源端口号 目的端口号 ACK : TCP 2021-02-20 HTTP #HTTP
运算符 typeof 与 instanceof 区别 typeoftype 中文翻译:“类型” 用于判断数据类型,返回值是6个不同的字符串:分别是:string number boolean undefined function object 123456789101112console.log(typeof "1"); // stringconsole.log(typeof 1); // numberconso 2021-02-17 JavaScript #JavaScript