-
Object.fromEntries不支持嵌套解析,需手动实现nestedAssign:先按数组语法(key.endsWith('[]'))或点号路径(key.split('.'))分类处理entries,逐层创建对象或推入数组,注意类型兼容与空值语义。
-
HTML截图不是页面导出,它仅捕获当前视口渲染快照,不保留结构、语义、交互及未加载资源;html2canvas因非真实渲染引擎常失真;puppeteer截图更准但仍为静态图像;真正HTML导出需序列化DOM或服务端生成。
-
Block通过编译期静态分析识别动态节点并打patchFlag,运行时借助openBlock/createBlock协同维护blockStack与currentBlock,将所有动态子代(含后代)扁平化收集至dynamicChildren数组,更新时仅遍历该数组实现精准patch,跳过全部静态节点。
-
:empty仅匹配DOM中无任何子节点(含文本节点)的元素,换行、空格、注释均使其失效;它探测结构为空而非视觉为空,适用兜底样式或隐藏真正空容器,但不支持替换元素、contenteditable元素及:blank伪类。
-
HTML不是编程语言,它没有逻辑、不处理数据、也不控制流程,仅定义网页结构和内容语义;必须以<!DOCTYPEhtml>和<html>开头确保浏览器正确解析,标签使用需遵循语义规则。
-
@layer优先级由源码中声明顺序决定,第三方样式未包装则落入隐式顶层并高于所有显式层;必须用@importurl()layer()显式导入框架到指定层,且@layer声明须在顶层、不可嵌套。
-
content-visibility:auto适用于跳过离屏渲染但保留占位与无障碍,IntersectionObserver专用于触发非渲染副作用;二者分工明确,混用需避免破坏缓存与高度失真。
-
SCSS的nth()和append()函数需严格遵循编译期语义:nth()索引从1开始且不支持负数,越界即报错;append()默认空格分隔,逗号需显式声明comma,多值拼接优先用join()并预检长度。
-
[class~="item"]能匹配class="itemlist"但不匹配class="item-list",因它按ASCII空格分词后全词严格匹配,连字符非分隔符;仅class、rel、lang等规范定义的多值属性支持~=,data-等需用=/^=/|=替代。
-
caption-side:bottom有时无效,主因是caption未作为table的第一个子元素、旧版IE及PDF生成器兼容性差、CSS权重或继承干扰导致标题未被正确识别或错位。
-
优化Canvas动画性能需减少重绘区域,使用ctx.clearRect(x,y,width,height)仅清除变化部分,避免全屏清空,降低绘制开销。
-
Object.getPrototypeOf可绕过被篡改的constructor,沿原型链查找首个非Object.prototype的原型并读取其constructor,从而识别混淆后的原始构造函数;结合toStringTag、function.name和原型链指纹可批量检测伪造继承与类型伪装。
-
Map.prototype.set()返回undefined,故原生不支持链式调用;需继承Map并重写set等方法使其返回this,再扩展状态机语义如transition、exec,结合WeakMap可实现实例级隔离的状态映射。
-
用display:grid实现九宫格更高效稳定,核心是grid-template-columns:repeat(3,1fr)定义三等分列,配合gap控制间距、aspect-ratio保持正方形、justify-items/align-items统一居中,避免Flex的margin计算与换行问题。
-
auto-fill在小屏下多出空白列,本质是按minmax()最小值硬算轨道数并保留所有空轨道;而auto-fit会收缩空轨道使内容撑满容器,更适合响应式卡片布局。