01-16
模拟实现
- 实现bind,call,apply
- 实现new
理论
- Object.prototype.toString.call 是如何判断变量的类型的,讲原理
- JavaScript的垃圾回收机制是怎样的,简述一下
- 什么是强引用与弱引用
- Map与WeakMap的区别有哪些
- null 与 undefined 有什么区别
- 常见的内存泄露场景有哪些,如何避免
场景
- 请求合并:短时间内需要请求多个资源合并成一个请求发送
js
// 首先有一个接口其请求路径为 /path
// query有一个id参数支持传一个或者多个id
// /path?id=1
// /path?id=1,2,3
// /path?id=1,2
// 返回内容格式为(假设请求的query是 id=1,2)
const demoRes = {
1:{
data:{}
},
2:{
data:{}
}
}
// request的构成
request({
url:'/path',
query:{
id:''
}
})
// 下面是使用场景实现,每个方法回调最终拿到的是自己需要的内容
getArticle(3).then(res=>{})
getArticle(4).then(res=>{})
getArticle(5).then(res=>{})
getArticle(6).then(res=>{})
// 实现这个getArticle方法