Open mileOfSunshine opened 2 years ago
? 从输入URL开始建立前端知识体系
? Babel编译过程
? 防抖
function debounce(fun, wait) {
return function() {
clearTimeout(fun.id)
fun.id = setTimeout(() => {
fun.apply(this, arguments)
}, wait)
}
}
? 节流
// 时间戳实现
function throttle(fun, wait) {
let t1 = 0
return function() {
let t2 = +new Date()
if (t2 - t1 >= wait) {
fun.apply(this, arguments)
t1 = t2
}
}
}
// 定时器实现
function throttle(fun, wait) {
return function() {
if(!fun.id) {
fun.id = setTimeout(() => {
fun.id = null
fun.apply(this, arguments)
}, wait)
}
}
}
? for...in & for...of
? require & import
? 【vue】computed & watch
? Promise
? 模块化
https://juejin.cn/post/7091068088975622175
类型 | Worker | SharedWorker | ServiceWorker |
---|---|---|---|
概述 | - | 共享数据的 Worker | 作为 Web 应用程序、浏览器、网络之间的 代理服务 |
通信方式 | postMessage | port.postMessage | 单向通信,通过addEventListener 监听serviceWorker 的状态 |
使用场景 | 适合大量计算的场景 | 适合跨 tab、iframes之间共享数据 | 离线缓存 、消息推送 和网络代理 |
兼容性 | >= IE 10>= Chrome 4 | 不支持 IE、Safari、Android、iOS>= Chrome 4 | 不支持 IE>= Chrome 40 |
模块打包流程:
两个核心对象:
Loader 文件转换
Plugin 功能扩展
?前端工程化
forEach是不能阻塞的,所以请求是并发,串行请求可使用:
for
循环或是for of
? MVC
? MVVM
? Vue2.x 响应式数据原理
? Vue3.x 与 Vue2.x 响应式原理的区别
? 虚拟 DOM
?v-for 加 key
?Vue.mixin
? nextTick
? 自定义指令
? 函数式组件
? vue-router 常用路由模式