10. 简述vue中diff算法
- 当今主流框架多采用虚拟节点VNode更新结点,更新规则为diff算法
- 原理:框架会将所有的结点转化为虚拟结点Vnode,在页面DOM发生更改后生成新的Vnode跟原来的oldVnode进行比较,在oldVnode上进行修改,修改:Vnode有oldVnode没有,则添加;Vnode没有oldVnode有,则删除;两者都有则进行比较,Vnode中的内容替换掉oldVnode中的内容,若为静态资源则不处理
11. cookie、sessionStorage、localStorage区别
- 相同点:都是由浏览器储存
- 区别
- cookie由服务器写入,sessionStorage和localStorage由前端写入
- cookie的生命周期在服务器写入时就设置好,localStorage是写入就一直存在,除非手动删除,sessionStorage在页面关闭时自动清除
- cookie储存空间大小约为4kb,sessionStorage和localStorage储存空间大约为5M
- 三者的数据共享都遵循同源规则,但sessionStorage还必须限制在同一个界面
- 前端向后端发送请求时,自动携带cookie,后两者都不携带
- cookie一般存储登录验证信息或者token,localStorage常用存储不宜变动的数据,减轻服务器的压力,sessionStorage可以用来检测用户是否刷新进入页面