-
width:auto不自适应的根本原因是其依赖父容器明确宽度及正常文档流,受flex/grid布局、float、display类型、box-sizing及min/max-width等多重限制。
-
JavaScript数组扁平化指将多层嵌套数组压平为一层,flat()按指定深度展开(默认1层,Infinity可完全扁平),flatMap()先映射再扁平一层,二者语义清晰、性能好、可读性强,是现代项目的首选方案。
-
外链的<img>或background-image引入的SVG无法用CSS控制内部<path>颜色,因其被当作位图处理;只有inlineSVG才能通过fill:currentColor或CSS变量动态换色。
-
徽标文字颜色对比度不够时,应确保小字号文字与背景的对比度达WCAGAA标准4.5:1;例如红底配白字需验证是否达标,推荐用WebAIM工具检测,必要时加深文字色或降低背景亮度。
-
装饰器套在类方法上直接报错self丢失,是因为普通装饰器未显式接收并透传self(或cls),导致其被误作第一个位置参数吃掉;正确写法必须是defwrapper(self,args,kwargs)或defwrapper(cls,args,kwargs),否则引发TypeError或属性访问失败。
-
能,但仅限于容器尺寸按比例约束,不缩放子元素;它维持宽高比(如16/9),解决高度塌陷与比例失真,适用于视频容器、等比卡片等场景。
-
作用域链是函数定义时固化下来的词法嵌套关系,非运行时动态生成;它存储在函数的[[Environment]]内部槽中,ChromeDevTools“Scope”面板显示的是其运行时快照,不可直接打印或遍历。
-
内存碎片是标记-清除GC后存活对象分散导致的空闲空间不连续现象,引发分配失败、内存虚高和GC效率下降;V8通过空闲期压缩缓解,开发者应复用大对象、减少波动并及时解引用。
-
router.push是一次受控的响应式视图迁移:先通过history.pushState同步URL并生成RouteLocation,再匹配路由、执行可中断的导航守卫链,最后协调组件卸载/挂载与响应式更新。
-
真正可控的复古滤镜需按sepia()→contrast()→saturate()顺序组合,参数分别控制在0.65–0.7、1.15–1.25、0.7–0.95区间,且须规避PNG/SVG渲染差异与浏览器兼容性问题。
-
commitlint.config.js是Node.js模块,必须导出合法JavaScript对象;混入HTML标签(如<div>)会导致SyntaxError:Unexpectedtoken'<'报错,因其非HTML文件,不参与页面渲染,仅被Node环境加载执行。
-
文字旋转模糊的根本原因是非90°整数倍旋转导致亚像素坐标,合成层强制对齐整数像素使子像素抗锯齿失效;filter:blur(0)仅偶发绕过渲染缓存,不稳定;真正解法是控制变换结果为整数像素,如calc()补偿、整数缩放比、避免奇数尺寸与百分比组合。
-
直接加border-collapse:collapse可解决边框重叠变粗问题,但必须作用于<table>元素,且需确保无border-style:hidden等覆盖样式,并通过computed样式验证生效;合并后应拆分控制border-width/border-color/border-style以精确调整。
-
闭包天然适合构建多端适配中间件,通过固化终端类型、能力标识、UI约束等上下文实现逻辑复用与环境隔离;各端注册专属闭包预置元信息,避免运行时判断;能力检测结果封存于闭包作用域,后续直接使用并内置fallback;洋葱模型中按端定制闭包栈实现差异化处理路径;参数化闭包支持运行时策略注入,兼顾隔离性与灵活性。
-
<script>标签中的同步代码是宏任务,由HTML解析时按规范入队;其内部产生的Promise.then、queueMicrotask等回调才构成微任务,事件循环在每个宏任务后清空微任务队列。