一文教会你什么叫防抖、节流、深拷贝

2022-12-25 0 577

甚么是HDR?

HDR,简而言之,防止变形,以防把一场该事件误以为数次,敲按键是两个每晚单厢碰触到的HDR操作方式。

HDR情景

登入、来电等按键防止使用者点选博蒙阿,以至于推送了数次允诺,须要HDR修正应用程序询问处大半小时,resize 单次过分频密,导致排序过多,这时须要一场妥当,付录了HDRfunction throttle(fn, delay) { // 历史记录上一场表达式促发的天数 var lastTime = 0; return function() { // 历史记录现阶段表达式促发的天数 var nowTime = Date.now(); if (nowTime – lastTime > delay) { // 修改this对准难题fn.call(this); // 并行天数 lastTime = nowTime; } } }

甚么是IIS

IIS,简而言之,掌控水的网络流量。掌控该事件出现的振幅,如掌控为1s出现一场,即使1两分钟出现一次。

IIS情景

scroll 该事件,内要一秒钟排序一场边线重要信息等应用程序播映该事件,内要一秒钟排序一场工程进度重要信息等input 框动态搜寻并推送允诺展现下拉列表,内要一秒钟推送一场允诺 (也可做HDR)function debounce(fn, delay) { // 历史记录上一场的延时器 var timer = null; return function() { // 清除上一场延时器clearTimeout(timer) timer = setTimeout(function() { fn.apply(this) }, delay) } }
一文教会你什么叫防抖、节流、深拷贝

甚么是深复本、浅复本

如何区分深复本与浅复本,简单点来说,是假设B复制了A,当修改A时,看B是否会出现变化,如果B也跟着变了,说明这是浅复本,拿人手短,如果B没变,那是深复本,自食其力。

深复本

热门的表达式库lodash,也有提供_.cloneDeep用来做深复本

jquery 提供两个$.extend可以用来做深复本

JSON.parse(JSON.stringify()),不能复本表达式类型
一文教会你什么叫防抖、节流、深拷贝

手写递归方法:

//定义检测数据类型的功能表达式 function checkedType(target) { return Object.prototype.toString.call(target).slice(8, -1) } //实现深度克隆—对象/数组 functionclone(target) { //判断复本的数据类型 //初始化变量result 成为最终克隆的数据 let result, targetType = checkedType(target) if (targetType === Object) { result = {} } else if (targetType === Array) { result = [] } else { return target } //遍历目标数据 for (let i in target) { let value = target[i] //判断目标结构里的每一值是否存在对象/数组 if (checkedType(value) === Object || checkedType(value) === Array) { //对象/数组里嵌套了对象/数组 result[i] = clone(value) } else { result[i] = value } } returnresult }

浅复本

一文教会你什么叫防抖、节流、深拷贝
// 只复制第一层的浅复本 function simpleCopy(obj1) { var obj2 = Array.isArray(obj1) ? [] : {}; for (let i inobj1) { obj2[i] = obj1[i]; }return obj2; } var obj1 = { a: 1, b: 2, c: { d: 3 } } varobj2 = simpleCopy(obj1); obj2.a =3; obj2.c.d = 4; alert(obj1.a); // 1 alert(obj2.a); // 3 alert(obj1.c.d); // 4alert(obj2.c.d);// 4

Object.assign方法

var obj = { a: 1, b: 2 } var obj1 = Object.assign(obj); obj1.a = 3; console.log(obj.a) // 3

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务