如何编写爬虫

梳理爬虫编写的基本思路:区分SPA页面与服务端渲染,针对后者使用cheerio库解析HTML结构,提取数据。

漫谈程序初始化

文章从软件生命周期切入,探讨了初始化阶段的技术实现,区分了前置与非前置任务。以数据库连接为例,详细分析了代理模式、预先队列和继承重写等异步初始化策略,并提及顶层await的潜在应用。

Babel to Class之编译(1)

本文是《Babel to Class》系列的第一篇,深入解析 Babel 如何将 ES6 Class 语法编译为 ES5 代码,通过 Object.defineProperty 和自定义辅助函数实现实例属性、getter/setter 和静态方法的转换。

从Vue3看组件开发新写法

本文探讨了 Vue3 中 Composition API 如何通过逻辑复用重构组件开发,对比 Vue2 的局限,并以轮播图、网络请求和表格处理为例,展示自定义 hooks 的实践。同时分析了 Teleport、Suspense 等新组件,以及 template 与 JSX 的选择考量。

判断对象全等

针对 JavaScript 中对象全等判断的局限性,本文通过逐步实现一个 `equal` 函数,探讨了处理 NaN、+0/-0、数组、对象、Set、Map、Date、正则表达式和包装对象的深层比较逻辑,并解释了如何利用构造函数、迭代器和值比较来构建健壮的解决方案。

函数记忆

探讨函数记忆化(Memoization)的核心实现,从同步场景出发,通过重构缓存逻辑来分离计算与缓存职责,并扩展到异步场景,包括回调函数和 Promise 的并发处理与队列管理。

怎么用 Vue Composition 造轮子

本文深入探讨如何利用 Vue Composition API 的 watchEffect 等特性,从零构建可复用的自定义 hooks。通过多个实际示例——包括 DOM 监听、请求封装、生命周期模拟和持久化——展示响应式思维下的代码组织方式,以及 hooks 封装中的技术细节与设计权衡。

为 React 添加双向绑定 hooks

探讨如何为 React 组件实现双向绑定 hooks。通过 Object.defineProperty 劫持数据,结合数组变异方法重写原型链,自动触发 useState 更新,减少手动 setState 代码。分析了 Vue 数据劫持与 React hooks 的结合方案。