博客
/

博客

  • HTTP/1.1、2、3 差的不是速度,是队头阻塞卡在哪一层

    被问到 HTTP/2 快在哪,答「多路复用」只答了一半。真正的分界线是队头阻塞:1.1 有两层,2 干掉一层,3 才把第二层也干掉。

    2026-09-16
  • 接原型链的四种写法:分水岭是「替换」还是「原位改」

    Object.create、setPrototypeOf、__proto__ 赋值、new f() 都能把 Employee.prototype 挂到 Person.prototype 下。归成两类就清楚了:换掉对象,还是只改指针 —— constructor、顺序敏感、ES 版本全由这个决定。

    2026-09-16
  • extends 修的是两条原型链,不是一条

    class 的 extends 做了两件事:接实例链,另外还认了个师傅。手写 ES5 通常只做前一半,而且直到子类第一次调静态方法才会炸。

    2026-09-11
  • display: flow-root —— 你早该用上的 clearfix 替代方案

    display: flow-root 如何创建块级格式化上下文,它什么时候进入浏览器,以及为什么它比 overflow: hidden 和经典 clearfix hack 更好。

    2026-09-10
  • Object.create 动作一样,挂在谁身上结果完全不同

    同一个 Object.create,挂 B.prototype 是搭继承链,挂普通对象是纯原型委托。层级、constructor 回指、instanceof 全都不一样。

    2026-09-10
  • 组合符和 :not() 一样,本身不计入优先级

    >、+、~、空格和 :not() 是同一类东西:本身不计分,它们连接或包裹的选择器才计分。

    2026-09-10