#JavaScript
共 28 篇
每日一面 No.051 09-16 【每日一面】事件模型与事件委托
事件在 DOM 树里先捕获后冒泡,事件委托借着冒泡把 N 个监听器收成一个,顺带让动态节点自动生效。
22 min·7694 字 阅读全文 →
深度 No.050 09-16 深入浅出前端路由体系:从 URL 到渲染的完整链路
前端路由要把内存里的 UI 状态和地址栏的 URL 始终对齐,从 hash 到 History 再到导航标准化,匹配打分、导航守卫、懒加载与部署 fallback 才是真正吃功夫的地方。
38 min·13221 字 阅读全文 →
每日一面 No.048 09-15 【每日一面】类型系统与类型转换
JavaScript 的类型转换全都落在 ToPrimitive、ToString、ToNumber、ToBoolean 四个抽象操作上,把加号与宽松相等(==)的规则串起来,[] == ![]、{} + [] 这类题就不再是靠背的。
19 min·6824 字 阅读全文 →
每日一面 No.047 09-15 【每日一面】内存泄漏与垃圾回收
内存泄漏的本质是对象从根仍然可达、GC 回收不掉,所以要掌握的是标记-清除与代际回收的判定逻辑,以及全局变量、定时器、闭包、DOM 引用、事件监听、第三方库这六类高频泄漏场景的定位路径。
18 min·6412 字 阅读全文 →
每日一面 No.045 09-11 【每日一面】深浅拷贝
浅拷贝只复制第一层、嵌套引用依旧共享,深拷贝则要递归到每一层,还得用 WeakMap 兜住循环引用、用类型分支兜住 Date / RegExp / Map / Set。
19 min·6615 字 阅读全文 →
每日一面 No.044 09-10 【每日一面】this 指向与绑定规则
this 在函数被调用的那一刻才定下来,看调用方式就行:new > 显式 bind > 对象方法 > 默认绑定,而箭头函数不绑定 this,只一路向上继承词法作用域的 this。
21 min·7496 字 阅读全文 → 深度 No.043 09-09深入浅出微前端架构
当单体前端的构建、发布与协作都撞上规模天花板,微前端把业务拆成可独立交付的子应用再运行时组合——本文从原理讲到四大主流方案对比,再落到 qiankun 落地与工程实践里的那些坑。
43 min·15012 字 阅读全文 →
每日一面 No.042 09-09 【每日一面】深入理解 JavaScript 原型链
原型链是靠 __proto__ 把实例、原型与构造函数串起来的一条查找链:属性沿它一路查到 null,把 prototype 与 constructor 的关系理顺,class extends 的本质也就通了。
20 min·6862 字 阅读全文 →
每日一面 No.041 09-08 【每日一面】深入理解闭包
闭包是作用域链查找与垃圾回收共同作用的结果:内部函数让外部变量持续存活,用于数据私有、状态保持与防抖节流,但也要提防意外的内存泄漏。
16 min·5687 字 阅读全文 →
每日一面 No.039 09-04 【每日一面】事件循环机制
JS 单线程靠调用栈加任务队列运转,微任务永远先于宏任务清空,异步顺序全看这一条。
13 min·4720 字 阅读全文 →
每日一面 No.030 11-24 【每日一面】webpack plugin 原理
plugin 是一个带 `apply` 的类,靠 Compiler / Compilation 的钩子介入构建的全生命周期。
20 min·6838 字 阅读全文 →
前端基础 No.029 11-17 深度解析 JavaScript 作用域与作用域链
作用域分全局、函数、块级,变量查找顺着 `[[Scopes]]` 一路向上,理解词法作用域才能吃透闭包。
16 min·5518 字 阅读全文 →
每日一面 No.028 11-17 【每日一面】如何解决内存泄漏
内存泄漏靠 DevTools 定位、靠切断引用来治理,常见元凶是全局变量、闭包、DOM 引用和第三方库。
11 min·3799 字 阅读全文 →
每日一面 No.027 11-17 【每日一面】webpack loader 原理
loader 是资源的翻译器,把非 JS 资源串成管道、从右到左编译成模块。
15 min·5325 字 阅读全文 →
前端基础 No.026 11-14 JavaScript 原型/原型链
`[[Prototype]]`、`__proto__` 与 `prototype` 各司其职,属性沿原型链一路查到 null,而 class 只是它的语法糖。
20 min·7035 字 阅读全文 →
每日一面 No.024 11-12 【每日一面】装饰器原理
装饰器是类定义时执行的元编程语法糖,给类、方法、属性、访问器加能力,比高阶函数更声明式。
15 min·5362 字 阅读全文 →
前端基础 No.023 11-07 深入浅出 SPA/MPA
SPA 交互快但 SEO 弱,MPA 首屏快且 SEO 好,选型就是在交互与收录之间做权衡。
22 min·7575 字 阅读全文 →
每日一面 No.022 11-04 【每日一面】实现一个深拷贝函数
JSON 方案扛不住函数与循环引用,健壮的深拷贝要递归遍历,并用 WeakMap 兜住环、用特判兜住 Date / RegExp / Map / Set。
16 min·5438 字 阅读全文 →
前端基础 No.021 10-31 深入浅出 ES Module
ESM 是语言级的模块方案:静态、独立作用域、按引用传递、异步加载,和 CJS / AMD / UMD 都不太一样。
11 min·3762 字 阅读全文 →
每日一面 No.020 10-30 【每日一面】你怎么理解 Proxy 的
Proxy 用 get / set / has 等拦截做出非侵入式代理,也正是 Vue3 响应式的基石。
12 min·4333 字 阅读全文 →
每日一面 No.018 10-29 【每日一面】async/await 的原理
async/await 不过是 Generator 加自动执行器再套一层 Promise 的语法糖,yield 对应 await、next 对应自动推进。
12 min·4044 字 阅读全文 →
前端基础 No.012 10-09 浅浅的聊一下 WebSocket
WebSocket 借一次 HTTP Upgrade 握手升级成全双工长连接,头部开销小,正好适合实时双向通信。
9 min·3288 字 阅读全文 →
前端基础 No.011 10-09 想学canvas?那一定要看看这篇文章
Canvas 从坐标系画到贝塞尔曲线,再跑起物理动画和碰撞检测,但真正撑起动效的,永远是算法与数据结构。
23 min·8095 字 阅读全文 →
每日一面 No.008 10-09 【每日一面】获取文字的真实宽度
量文字宽度要么借隐藏 DOM 的 measureText,要么上 canvas 的 measureText,但都得防字体不一致和 emoji 这些坑。
8 min·2708 字 阅读全文 →
每日一面 No.007 10-09 【每日一面】任意 dom 元素吸顶
吸顶首选 `position: sticky`,但它受容器块、top 值和祖先 overflow 束缚,卡住时用 JS 滚动监听兜底。
13 min·4449 字 阅读全文 →
读书笔记 No.006 10-09 《你不知道的JavaScript》笔记(一)
作用域由书写位置决定,嵌套与遮蔽由此而来,而 `eval` / `with` 会破坏编译优化——这是理解 JS 的起点。
5 min·1916 字 阅读全文 →
每日一面 No.004 10-09 【每日一面】React Hooks 闭包陷阱
Hooks 里的闭包陷阱来自渲染快照与依赖缺失,靠 useRef、补依赖或把状态对象化就能绕开。
9 min·3056 字 阅读全文 →
前端基础 No.002 10-09 JavaScript 沙箱
沙箱像一座楚门世界,用 IFrame、Proxy 或快照把代码关进隔离区——但它不等于绝对安全。
17 min·5916 字 阅读全文 →