随笔分类 - 阅读 / 技术
摘要:当新旧 vnode 的子节点都是一组节点时,为了以最小的性能开销完成更新操作,需要比较两组子节点,用于比较的算法就叫作 Diff 算法。 9.1 减少 DOM 操作的性能开销 场景: 标签相同,子节点是文本节点,文本内容不同时 虚拟节点: 01 // 旧 vnode 02 const oldVNod
阅读全文
摘要:8.1 挂载子节点和元素的属性 1. 挂载子节点 // 子节点为数组 const vnode = { type: "div", children: [ { type: "p", children: "hello", }, ], }; // 支持多个子节点的挂载方法 function mountEle
阅读全文
摘要:7.1 渲染器与响应系统的结合 最简单的渲染器及其使用 // 渲染器 function renderer(domString, container) { container.innerHTML = domString } // 使用 let count = 1 renderer(`<h1>${cou
阅读全文
摘要:《人月神话》(The Mythical Man-Month)是计算机科学家弗雷德里克·布鲁克斯(Frederick P. Brooks Jr.)于1975年出版的一本经典著作,主要探讨软件工程和项目管理中的各种问题。书中的内容虽然已有数十年历史,但其中的许多观点和原则依然适用于现代软件开发。以下是对
阅读全文
摘要:1. 整洁代码 1.1 要有代码 代码不再是问题;我们应当关注模型和需求。代码很快就能自动产出。这种言论是不正确的。 因为代码呈现了需求的细节,在某些层面上,这些细节无法被忽略或抽象。 即使将来语言的抽象程度继续提升,那么用这种语言开发也同样是代码。同样需要严谨、规范、精确和详细。 1.2 糟糕的代
阅读全文