![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试学习
何时待我
这个作者很懒,什么都没留下…
展开
-
深拷贝与浅拷贝, 手写深拷贝(不考虑原型链)
说明: 浅拷贝对于深层对象引用无法处理1. 一般使用Object.assign 即可实现单层对象的深拷贝, 但对于多层对象无法生效2. 一般通过JSON.parse() 和JSON.stringfy() 即可实现简单的深拷贝, 但对于正则, 日期对象等无法完整拷贝如下图所示实现深拷贝1. 简单的深拷贝 /* 简单的深拷贝, 对于函数, 正则等无法处理 */ function deepClone (obj) { let newObj if (typeof obj === 'ob原创 2021-07-05 16:28:29 · 159 阅读 · 0 评论 -
手写call,apply,bind
1. 手写callFunction.prototype.myCall = function (context) { // context 接收第一个参数 如果没有默认用window context = context || window // 给context.fn 或其他属性赋值为函数, 即myCall的调用者改变函数的this 指向context context.fn = this // 获取传入的参数 const args = [...arguments].slice(1) // 通过原创 2021-07-05 15:13:18 · 64 阅读 · 0 评论