博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2021年3月5日

摘要: 简单需求的话:直接 JSON.parse(JSON.stringify(someobj)) 复杂需求的话:实现一个”完美“的深拷贝,只能求教上百行代码的 Lodash.cloneDeep() 了 面试够用版: function deepClone(someobj){ let cloneObj; // 阅读全文

posted @ 2021-03-05 18:10 米粒3 阅读(77) 评论(0) 推荐(0) 编辑

摘要: 手写call: Function.prototype.ownCall=function(newObj,...args){ if(typeof newObj=='function'){ throw new TypeError('type error'); } let fn=Symbol('fn');/ 阅读全文

posted @ 2021-03-05 17:17 米粒3 阅读(97) 评论(0) 推荐(0) 编辑

摘要: 相同点:1.都是用来改变函数的this对象指向的 2.调用时第一个参数都是需要指向的新对象 3.都可以利用后续参数传参 不同点:call、apply都是对函数的直接调用,而bind返回的是一个函数,需要进行再次调用才可以使用; 传递参数方式不同:call、bind 传递的是逗号分割的参数字符串,而a 阅读全文

posted @ 2021-03-05 14:44 米粒3 阅读(44) 评论(0) 推荐(0) 编辑