-
ChromeDevTools中定位正则回溯陷阱的关键是观察Performance面板中的长任务,若RegExp.prototype.exec等方法反复调用且耗时递增,即存在灾难性回溯;配合Network、Console测速验证输入风险,并在SourcesSnippets中用原子组等优化,使耗时从200ms降至1ms内。
-
JavaScript中let与var的核心区别在于:作用域(块级vs函数级)、变量提升(TDZ存在与否)、重复声明限制(禁止vs允许)及全局对象绑定(不挂载vs挂载window)。
-
负向先行断言(?!pattern)仅判断当前位置后不紧接指定模式,不匹配字符;常见错误是未锚定位置,正确用法需结合^、$、\b等边界确保否定范围准确。
-
能,但需配合captureStream()与OffscreenCanvas或WebGL才能实现滤镜处理;它仅通知解码帧就绪,不直接提供像素数据,且仅支持Chromium111+及HTMLMediaElement播放场景。
-
rgba(var(--color),0.5)不工作,因var(--color)返回字符串而非独立数值;RelativeColorSyntax要求颜色变量预定义为HSL/lch分量(如--primary-h:210),再用hsl(from.../var(--alpha))实现动态透明度。
-
unshift()时间复杂度为O(n),数组越长性能越差;push()为O(1),始终高效。5万元素下unshift100次超300ms,push同量仅<0.5ms,差距百倍起跳。
-
vertical-rl是中文竖排唯一合理的选择,因其符合传统印刷逻辑,使文本从上到下、行从右到左流动,且block-start对应顶部、inline-start对应右侧,确保第一行自然出现在容器最右边。
-
浏览器不支持在@media中定义或重定义@keyframes,必须用不同名称的@keyframes配合animation-name在媒体查询中切换,并统一使用小写中划线命名、添加-webkit前缀以兼容旧版Safari和IE11。
-
使用position:fixed可直接实现悬浮工具栏,通过right和bottom设置定位,z-index确保层级在上,flex布局垂直排列按钮,并配合媒体查询适配移动端,添加过渡效果提升交互体验。
-
单页滚动真正适配语义化导航的是scrollIntoView(),它基于DOM节点自动计算位置、避开sticky头部、支持平滑滚动;scrollTo()仅适合精确像素定位,易被fixed导航栏遮挡内容。
-
@use是当前Sass中避免样式污染最可靠的方式,它从语言层面强制隔离变量、@mixin、%placeholder和函数的作用域;继续用@import等于主动放弃封装能力,污染几乎不可避免。
-
WeakMap不可迭代是关键设计,旨在防止外部探测键的存在状态以保护私有数据;它无keys()/values()/entries()方法、不支持for...of和展开运算符,JSON.stringify返回"{}"。
-
视频加载失败时可通过onerror事件捕获并处理,如显示备用封面、提示信息或切换备用源,结合多格式支持与路径检查可有效提升兼容性与用户体验。
-
align-content:center没效果最常见原因是容器未形成多行且交叉轴无富余空间;它仅在flex-wrap:wrap生效、子项实际换行、容器有明确高度时才起作用。
-
window.print()默认打印整个DOM,导致导航栏、广告、浮动元素等干扰内容被输出;必须用@mediaprint精准控制可见节点、重置样式(如float:none、position:static)、强制黑白、补全链接URL,并规范表格分页(如page-break-inside:avoid、thead{display:table-header-group}),配合开发者工具模拟打印预览调试。