随笔分类 -  函数

摘要:防抖 高频操作,最后一次生效。 function debounce(fn) { let timer = null; return (...args) => { clearTimeout(timer); timer = setTimeout(() => { fn.apply(this, args); 阅读全文
posted @ 2022-02-21 19:55 梦渊同学 阅读(24) 评论(0) 推荐(0) 编辑
摘要:定义 将接收多个参数的函数转换成接收单一参数的函数,并且返回一个接收余下的参数的新函数。 应用场景 参数重复 // 柯里化 前 function validate(rule, value) { console.log('rule :>> ', rule); console.log('value :> 阅读全文
posted @ 2022-02-21 12:49 梦渊同学 阅读(24) 评论(0) 推荐(0) 编辑
摘要:/** * @description: 深拷贝 * @param { any } source 数据源 * @param { Map } cache 缓存(不传,有默认值) * @return { any } 复制值 */ function deepCopy(source, cache = new 阅读全文
posted @ 2022-02-20 22:27 梦渊同学 阅读(288) 评论(0) 推荐(0) 编辑
摘要:定义 一个函数的参数是函数,那么这个函数就是高阶函数。数组的遍历方法就是高阶函数,如:forEach、map等等。 细节 保持纯函数,减少函数副作用; 回调函数要使用 call 或 apply 绑定 this ; 手写数组函数 forEach function myForEach(arr, cb) 阅读全文
posted @ 2022-02-19 21:54 梦渊同学 阅读(39) 评论(0) 推荐(0) 编辑
摘要:问题 当需要多个函数完成一个业务场景时,函数传参会显得重复。此时,可以将需要调用的函数封装一下,让它自动传参和执行。 let result = fn1(1); result = fn2(result); result = fn3(result); …… compose 函数 从右往左执行参数函数。 阅读全文
posted @ 2022-02-19 17:35 梦渊同学 阅读(41) 评论(0) 推荐(0) 编辑
摘要:编程规范 面向过程编程:先做这个,再做那个,然后……; 面向对象编程:把功能封装为对象,相关操作作为对象方法; 函数式编程:把复杂功能拆分为一系列独立函数,通过函数之间相互调用完成功能; 函数式编程 特点 纯函数:相同输入得到相同输入,返回结果只依赖参数; 减少函数副作用:改变了外部数据,如全局变量 阅读全文
posted @ 2022-02-19 16:06 梦渊同学 阅读(60) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示