Skip to content

01-16

模拟实现

  1. 实现bind,call,apply
  2. 实现new

理论

  1. Object.prototype.toString.call 是如何判断变量的类型的,讲原理
  2. JavaScript的垃圾回收机制是怎样的,简述一下
  3. 什么是强引用与弱引用
  4. Map与WeakMap的区别有哪些
  5. null 与 undefined 有什么区别
  6. 常见的内存泄露场景有哪些,如何避免

场景

  1. 请求合并:短时间内需要请求多个资源合并成一个请求发送
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方法

朋友们的回答