-
AbortSignal.timeout()仅提供基础超时控制,需手动组合熔断(状态机+失败计数+时间窗口)和自愈(半开探测+指数退避)能力,最终封装为按key隔离的safeFetch函数。
-
overflow与position结合使用时需注意裁剪和定位规则:1.overflow:hidden会裁剪absolute元素,影响下拉菜单显示;2.overflow:clip限制fixed元素范围,使其相对祖先而非视口定位;3.absolute容器可通过overflow-y:auto实现内部滚动;4.避免因层叠上下文错乱导致的渲染问题,合理调整DOM结构与样式优先级。
-
移动端优先需HTML核心信息前置+flexorder重排视觉顺序,禁用display:none避免影响可访问性与SEO,通过纯HTML结构验证、屏幕阅读器测试及Lighthouse审计确保实效。
-
for循环在多数场景下仍是最快选择,因现代引擎深度优化;forEach适合副作用操作但无法中断;map/filter等声明式方法应按需使用,注意性能开销;for...of兼顾可读性与控制力;真正瓶颈常在循环体内操作。
-
canvas标签本身不绘图,必须通过JavaScript调用getContext("2d")获取2D渲染上下文才能绘图;需先用document.getElementById()获取canvas元素,且宽高须用HTML属性而非CSS设置,否则导致失真;绘图前须注意坐标系、fillStyle、beginPath()及手动清屏等默认状态问题。
-
background-clip:text不生效主因是未设color:transparent;仅WebKit内核原生支持,Firefox需加-webkit前缀及-webkit-text-fill-color:transparent;推荐分层封装SCSS混合宏,base处理透明与clip,上层组合渐变;禁用text-stroke与background-clip同用;iOS15.4前需JS特性检测降级。
-
节流函数必须用闭包,因为需在多次调用间私有持久地共享lastTime或timer状态;不用闭包则依赖全局变量,导致污染、竞态及多实例冲突。
-
CSSHoudini通过多个API让JavaScript直接操作浏览器渲染引擎,实现更灵活的样式控制。1.CustomPropertiesandValuesAPI支持定义带类型的CSS变量并进行动画;2.TypedOMAPI提供带单位的数值对象,提升性能和安全性;3.CSSParserAPI允许自定义CSS解析规则;4.PaintAPI通过PaintWorklet实现自定义绘制效果,如棋盘格背景;5.AnimationWorkletAPI创建高性能线程级动画;6.LayoutAPI自定义布局算法,如瀑布流
-
AudioWorklet比WebWorker更适合实时音频处理,因其运行在浏览器音频渲染线程,具备微秒级定时精度、零缓冲抖动及严格帧同步能力;而WebWorker存在1–4ms调度延迟,无法满足44.1kHz等硬实时采样要求,易导致断续、相位跳变或卡死。
-
ruby标签必须配合rb和rt才能正确渲染注音,rb是语义必需的被注音字容器,rt是对应读音,二者须一一紧邻配对;省略rb或错用结构会导致排版错乱、无障碍失效;rtc支持多层注音但仅Firefox原生支持;尽管W3C标记rb为弃用,当前所有主流浏览器仍强制要求显式书写rb。
-
固定表头需对th设置position:sticky;top:0;,而非thead;必须保留标准thead/tbody结构以保障语义化,iOS需父容器设height+overflow-y:auto且th有显式width。
-
浏览器通知API的权限管理通过Notification.permission查看状态(default、granted、denied),调用Notification.requestPermission()请求授权,需在用户有感知的操作中触发以提升授予率,避免频繁打扰。
-
usemap属性必须带#前缀且严格匹配<map>的name值,大小写敏感;area的shape和coords需按格式书写;响应式下需JS重算坐标或改用SVG。
-
最直接方式是JS动态增删active类并配合CSS样式控制选中项颜色,需确保HTML元素有唯一标识、初始化默认选中、避免伪类:active/:focus的瞬态局限,优先用CSS+radio实现无JS高亮,注意类名统一与优先级冲突。
-
Autoprefixer是解决CSS浏览器兼容性的核心工具,它基于CanIUse数据库和Browserslist配置,自动为需兼容的属性添加必要前缀,避免手动书写导致的冗余、错误或失效问题。