摘要: 首先这就是一个 bug,是第一版 javascript 遗留下来的。在这个版本,数值是以 32 字节存储的,由标志位(1~3 个字节)和数值组成。标志位存储的是低位的数据。 有五种标志位: 000:对象,数据是对象的应用。 1:整型,数据是 31 位带符号整数。 010:双精度类型,数据是双精度数字 阅读全文
posted @ 2022-02-27 20:30 梦渊同学 阅读(42) 评论(0) 推荐(0)
摘要: 适配 思想:将数据适配指定格式。 let arr = [{ path: '' }]; function b(params, fn) { params.forEach(item => { fn(item.url); }); } // 数据适配 let adaptArr = arr.map(item = 阅读全文
posted @ 2022-02-27 19:04 梦渊同学 阅读(27) 评论(0) 推荐(0)
摘要: 享元 思想:抽出不同的部分。 // 源代码 function a(paramsm, fn) { let arr1 = []; let arr2 = []; if (params) { arr1.forEach(fn); } else { arr2.forEach(fn); } } // 享元模式 f 阅读全文
posted @ 2022-02-27 18:55 梦渊同学 阅读(29) 评论(0) 推荐(0)
摘要: 工厂模式 思想:用于批量创建相似对象 或 完成相似功能。 class A {} function factory() { return new A(); } 建造者 思想:将复杂功能模块拆分,再组合起来。 class Editor { this.text = new Text(); this.img 阅读全文
posted @ 2022-02-27 18:47 梦渊同学 阅读(26) 评论(0) 推荐(0)
摘要: 设计原则 开闭原则:扩展开放,修改关闭 单一职责:一个函数只做一件事; 依赖倒置:依赖抽象,而不是具体; 接口隔离:类似单一职责,只不过是针对接口; 迪米特法则:一个对象应该减少与其它对象发生作用; 里氏替换:子类可以完全替代父类(子类必须完全实现父类方法) 分类 创建型:工厂模式、单例模式、建造者 阅读全文
posted @ 2022-02-27 18:36 梦渊同学 阅读(23) 评论(0) 推荐(0)
摘要: 意义 首先 javascript 是单线程脚本语言,至于为什么是单线程?最初设计的时候是执行浏览器脚本,单线程能保证对 DOM 操作的准确性。但这就意味着在处理较耗时操作时会阻塞,比如:I/O 操作,网络请求等。为了避免这种情况,耗时操作可以异步任务中执行,执行完成后通知相应的回调,事件循环就诞生了 阅读全文
posted @ 2022-02-23 22:04 梦渊同学 阅读(55) 评论(0) 推荐(0)
摘要: 问题 以下代码执行结果是? Promise.resolve({ then: function () { console.log('a'); } }).then(() => { console.log('d'); }); 首先第一直觉就是打印 d,当结果却是 a。立马去翻了 MDN ,果然发现了一些细 阅读全文
posted @ 2022-02-21 22:42 梦渊同学 阅读(167) 评论(0) 推荐(1)
摘要: 防抖 高频操作,最后一次生效。 function debounce(fn) { let timer = null; return (...args) => { clearTimeout(timer); timer = setTimeout(() => { fn.apply(this, args); 阅读全文
posted @ 2022-02-21 19:55 梦渊同学 阅读(34) 评论(0) 推荐(0)
摘要: 定义 将接收多个参数的函数转换成接收单一参数的函数,并且返回一个接收余下的参数的新函数。 应用场景 参数重复 // 柯里化 前 function validate(rule, value) { console.log('rule :>> ', rule); console.log('value :> 阅读全文
posted @ 2022-02-21 12:49 梦渊同学 阅读(30) 评论(0) 推荐(0)
摘要: /** * @description: 深拷贝 * @param { any } source 数据源 * @param { Map } cache 缓存(不传,有默认值) * @return { any } 复制值 */ function deepCopy(source, cache = new 阅读全文
posted @ 2022-02-20 22:27 梦渊同学 阅读(308) 评论(0) 推荐(0)