摘要: 定义 一个函数的参数是函数,那么这个函数就是高阶函数。数组的遍历方法就是高阶函数,如:forEach、map等等。 细节 保持纯函数,减少函数副作用; 回调函数要使用 call 或 apply 绑定 this ; 手写数组函数 forEach function myForEach(arr, cb) 阅读全文
posted @ 2022-02-19 21:54 梦渊同学 阅读(51) 评论(0) 推荐(0)
摘要: 问题 当需要多个函数完成一个业务场景时,函数传参会显得重复。此时,可以将需要调用的函数封装一下,让它自动传参和执行。 let result = fn1(1); result = fn2(result); result = fn3(result); …… compose 函数 从右往左执行参数函数。 阅读全文
posted @ 2022-02-19 17:35 梦渊同学 阅读(49) 评论(0) 推荐(0)
摘要: 编程规范 面向过程编程:先做这个,再做那个,然后……; 面向对象编程:把功能封装为对象,相关操作作为对象方法; 函数式编程:把复杂功能拆分为一系列独立函数,通过函数之间相互调用完成功能; 函数式编程 特点 纯函数:相同输入得到相同输入,返回结果只依赖参数; 减少函数副作用:改变了外部数据,如全局变量 阅读全文
posted @ 2022-02-19 16:06 梦渊同学 阅读(78) 评论(0) 推荐(0)
摘要: 问题 在项目中规定了文件的换行符为 LF1 ,当远程仓库有代码更新时,拉取代码发现换行符又被替换为 CRLF2,在vscode配置文件中也设置了文件换行符为 LF,几经折腾发现是git在传输代码时,将换行符转为了 CRLF。 core.autocrlf # 提交时转换为LF,检出时转换为CRLF g 阅读全文
posted @ 2022-02-17 22:34 梦渊同学 阅读(1276) 评论(0) 推荐(0)
摘要: require.context 生成一个 context module(上下文模块)。 require.context(path: string, needChildren: boolean, match: RegExP); 参数说明 path: 需要引入模块文件夹; needChildren: 是 阅读全文
posted @ 2022-02-15 23:01 梦渊同学 阅读(153) 评论(0) 推荐(0)
摘要: aspect-ratio aspect-ratio CSS 属性为box容器规定了一个期待的纵横比,这个纵横比可以用来计算自动尺寸以及为其他布局函数服务。 aspect-ratio: 1 / 1; aspect-ratio: 16 / 9; 例子 .box { width: 50vw; aspect 阅读全文
posted @ 2022-02-14 21:29 梦渊同学 阅读(179) 评论(0) 推荐(0)
摘要: 为什么要管理内存 减少浏览器卡顿; 防止node端服务中断; 变量如何保存在内存中 普通类型(字符串,数字、布尔等)数据保存在栈内存中; 引用类型(对象,数组,方法等)数据保存在堆内存中,栈内存保存堆内存地址; V8 占用内存大小 64位1.4G; 32位700MB; 根据不同浏览器有些许扩容;no 阅读全文
posted @ 2022-02-04 16:19 梦渊同学 阅读(25) 评论(0) 推荐(0)
摘要: Monorepo 单一代码库 问题 一般项目是独立创库管理(既:多代码库multirepos),一些基础的组件、工具函数,或者一些配置项会在多个项目中重复使用,除了copy一份之外,就是将依赖发布为一个npm包,当依赖项发生修改时,需要重新发布npm包,当修改频繁时,这种方式就显得尤为繁琐。 单一代 阅读全文
posted @ 2022-02-04 15:15 梦渊同学 阅读(224) 评论(0) 推荐(0)