hash模式
原理实现是通过监听hashchange的改变进行无刷新渲染
history模式
原理通过调用history.pushState(无刷新插入历史状态,更新url)更新url,并且监听popstate回退键事件进行渲染
先比较dom树,如果有组件不存在了直接销毁;然后比较组件,最后比较element节点,返回一个patch节点包含两个虚拟dom的差异进行渲染
1.写法不一样
2.箭头函数都没有名字
3.this指向不一样,普通 函数作用域为调用它的对象,箭头函数为当前上下文(如声明在全局那么this的作用域即为上下文)
4.箭头函数不能使用New 实例化
1.没有循环等复杂结构的都是O(1)
2.有一层循环,算法的性能会随着输入数据的大小变化而线性变化的是O(n)
3.有多层循环,算法性能随着数据呈现数次增长,算法性能为O(n2)、O(n3)、O(n^4)
204 无内容,服务器成功处理但未返回内容
205 重置内容,提醒用户刷新
301 页面永久重定向
302页面临时重定向
303 查看其他地址,使用 get post
304该资源未更新
400客户端请求语法错误
404找不到服务器
500服务器内部错误
分为强制缓存和协商缓存,浏览器读取缓存过程为内存-硬盘-服务器缓存
1.强制缓存:Cache-control和expries
Expries 是对比客户端和服务器时间差异,比较缓存是否过期,值为一个时间绝对值
Cache-control相对时间,如300S
2.协商缓存
强制缓存失效后,浏览器携带缓存标识请求服务器,由服务器缓存标识决定是否使用缓存
Last-modified/If-modified-since上次请求返回的最后被修改时间,检查服务器资源是否被更新
Etag/If-node-since返回校验码,etag 保证每个资源都是唯一的
React 适用于大型工程、多人协作工作,和 ts 配合更好
Vue 本身不依赖webpack,但 vue-cli 里边的webpack环境 依赖 node 开发出来的,webpack 是依赖 node 的
移动端跨平台使用 react native
单例模式
工厂模式
发布订阅模式
Diff 异步加载
1.Lodash debounce throttle 限制函数在一定时间内的调用次数
2.想要页面在第一次加载时请求,之后使用节流,点击按钮的时候获取当前时间戳,距离当前时间戳 XX 秒后调用节流函数
防抖函数:
节流函数:
1.Css 文件、js 文件 与html 文件的顺序,将 css 写入行内样式,script 文件放在上边,能保证其与 html 一起渲染,提高渲染速度
2.页面图片资源限制大小、使用 cdn
3.按钮、接口做防止二次点击处理
4.分页加载
从元素到父元素一直到 window 称为冒泡
从 window 一直到子元素称为捕获
阻止冒泡:1.return false 2.e.sstopPropagation()
找出两个左边相交面积的左上角与右下角左边
合并两个有序数组,用on1
限制函数并发
渲染过程:
父beforeCreate-父create-父beforeMount-子beforeCreate-子created-子beforeMount-子mounted-父mounted
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
283413169)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!