资料合并与纠错说明

把相关知识和复习方法放在一起,随时回看。

新版分享目录包含 16 个专题,目录标称合计 945 题。目录数量包含重复与交叉分类,并非去重后的独立题数。这里按专题目录和代表题对照现有题库,保留原稳定题号,扩写原答案,新增缺少的主题;不宣称已逐字转存 945 题。原 PDF 保留用于溯源。

资料方向 合并位置与本轮处理
JavaScript、ES6 扩写通用 JS 与进阶补充,新增事件传播和跨页面通信;重复的作用域、模块和 async 题不重复计数
CSS、HTML 扩写布局和脚本时序,新增语义、输入法、图片预览、动画与省略布局
Vue 逐题扩写 Vue2/Vue3、通信、状态、生命周期与场景,区分版本,补清响应式与 diff 的职责
React 逐题扩写快照、队列、Hooks、Effect、缓存与服务端边界;三次 setter 示例改为准确的队列推演
Node.js 新增 1~10:循环、线程、中间件、流、二进制、文件、进程、模块、事件、监控
TypeScript 扩写原类型基础,新增 15~20:配置、守卫、类型运算、重载、声明、模块与枚举
工程化 扩写构建与发布,新增 11~14:依赖、流水线、产物概念、BFF
网络、性能 扩写现有协议、缓存、TLS、CDN、指标、虚拟列表与监控题,避免按来源反复建同题
安全 扩写认证、XSS/CSRF、CSP 和通信,新增第三方资源完整性与 iframe 安全
小程序 新增 29~30:执行环境、setData、页面通信与事件,明确不是普通浏览器 DOM 模型
设计模式 新增 31:观察者、发布订阅、策略、工厂和作用域,联系实际前端场景
算法、编程题 保留原完整代码,补推演、复杂度和边界;新增异步洋葱组合、洗牌、归并、字符串计数、可取消循环

核对时纠正的关键表述

  • 新版 JS 的“不冒泡事件”条目混入了 focusin/focusout:这两个通常会冒泡;focus/blur 不冒泡,但可用捕获监听。详见深化 26。
  • 新版小程序资料把缺少 DOM 归因于 JavaScriptCore 比 V8 慢:DOM 是宿主能力,核心原因是逻辑层与渲染层隔离,不能由 JS 引擎名字推断。详见深化 29。
  • 新版工程化资料说开发环境 npm install 默认只安装 dependencies:通常会同时安装开发依赖,是否省略受 omit、production 等配置影响;也不能仅按依赖栏位判断浏览器 bundle 是否包含它。详见深化 11。npm 官方说明
  • Vue 数据变化的批处理主要由调度队列负责,diff 负责比较渲染结果;虚拟 DOM 也不保证全局最少操作或永远最快。
  • React 同一回调三次 setCount(count+1) 读取同一快照,不能笼统说“可能加一”或只归因于接口异步;要推演队列中的替换值与 updater。React 官方说明
  • 过时的 AppCache、旧版 Babel stage preset、固定浏览器连接数、跨版本混用 API 等,只在对应存量背景下说明,不作为所有项目当前默认方案。

本题库仍保留原文档来源标识与原 13 个手写 JavaScript 代码块。相关题虽然可能分别出现在通用与框架专题,阅读时可按深度选择;新增题不以复制同一答案增加数量。