-
Chrome58以下不支持initial关键字,会导致整条CSS规则被忽略,应改用具体初始值(如background-color:transparent)并配合PostCSS处理兼容性。
-
JavaScript中的微任务队列没有明确的长度限制,它是一个动态增长的FIFO队列,与当前宏任务的生命周期绑定;1.微任务队列在规范层面无固定上限,理论上可无限增长;2.微任务优先级高于宏任务,在当前宏任务执行后立即清空微任务队列;3.若微任务无限生成,会持续占用主线程,导致页面冻结、宏任务无法执行;4.常见微任务包括Promise回调、MutationObserver、queueMicrotask();5.避免微任务过度膨胀的方法包括避免递归创建微任务、分解大型任务、使用setTimeout调度、利用
-
用<ul>+<li>语义化结构实现群成员列表,配合<figure>包头像、<figcaption>包昵称,支持data-user-id传参、aria-label状态提示、contain:layoutstylepaint优化滚动性能,并预留在线状态样式扩展位。
-
中文实现两端对齐需同时设置text-align:justify和text-justify:inter-character,且容器为块级、文本至少两行;末行对齐需伪元素干预,兼容性受限于浏览器版本。
-
支付页面需防误操作、保状态、抗重放、可访问:提交时禁用整个表单并设aria-disabled;服务端必须幂等校验;确认页须reset表单、移除监听器、replaceState;成功页订单号应入URLpath并服务端渲染,缓存头设为no-store。
-
支配者树是堆快照中定位内存大户的高效视图,核心逻辑是对象A为B的支配者当且仅当所有GCRoots到B路径必经A,其按RetainedSize降序排列,顶部节点常占总堆70%以上。
-
使用CSSanimation与transform:rotate()可实现高效旋转动画。1.通过@keyframes定义从0deg到360deg的旋转关键帧,并绑定animation属性使元素持续旋转;2.调整animation-duration控制速度,animation-direction设置正反或交替方向;3.实际应用于加载动画时,结合border差异和圆形样式形成视觉指示;4.优化方面应优先使用transform避免重排,添加will-change提升渲染性能,移动端慎用长时间动画以保流畅。合理配置
-
let和const均为块级作用域、不提升、不可重复声明,区别仅在于是否允许重新赋值;var因函数作用域和变量提升易引发闭包、作用域泄露等问题,应避免使用。
-
transform-style:preserve-3d失效主因是父容器未设非nonetransform(如translateZ(0))或被overflow:hidden/filter等中断3D上下文,必须逐层确保preserve-3d+有效transform共存且无降级属性。
-
最常用组合是contain:layoutpaint,二者必须同时启用才能实现完整隔离;contain:content不含style,主题切换需显式添加;动态设置须在DOM插入前完成;contain:size与height:auto冲突,慎用;验证需通过Paintflashing等实际表现而非computedStyle。
-
JavaScript执行与页面渲染争夺主线程资源,需用requestIdleCallback分片长任务、避免强制同步布局、WebWorker卸载计算、RAF对齐渲染节奏。
-
Less运行时主题切换需通过@themesMap+each()生成CSS变量并用.theme-mixin()封装调用,避免多文件维护、变量覆盖及条件分支不可靠问题,构建工具须监听themes.less变更。
-
link[rel="import"]已被彻底移除,它从不解析HTML、不构建DOM、不执行脚本;唯一可控的替代方案是fetch+DOMParser手动解析。
-
JavaScript继承无统一标准,核心是理解原型链和this绑定;ES6class是语法糖,手动继承需用Object.create避免共享原型、修复constructor,并确保super()调用以初始化this。
-
html-minifier默认关闭CSS压缩,仅设minifyCSS:true仅启用clean-csslevel=1基础压缩,无法处理媒体查询折叠、@import忽略、URL截断等问题;必须显式传入{level:2,inline:['all'],rebase:false}配置对象才能安全启用完整CSS压缩能力。