-
Getter本身不追踪变化,但能封装复利公式实现按需实时计算;配合响应式系统(如Vue的computed或Proxy)可自动更新,适用于多层级财务表格,但无法处理异步、非线性规则或时间精度等复杂逻辑。
-
不能将断点值塞入BEM修饰符名,因浏览器不识别如@md等后缀,响应式必须由@media显式控制;修饰符只表达状态意图,断点需统一变量管理并由JS监听matchMedia切换类名。
-
text-wrap:nowrap不是标准CSS属性,根本不存在;正确写法是white-space:nowrap,它通过禁止自动换行并合并空格来实现单行显示,需配合width、overflow和text-overflow才能稳定生效。
-
VueRouter路径标准化是初始化时对path字符串的必经清洗处理,包括压缩多斜杠、折叠./..、统一根路径等,确保匹配稳定;它发生在createRouter阶段,由normalizePath()执行。
-
return()方法是迭代协议中保障资源安全释放的关键机制,用于在迭代被提前终止时执行清理逻辑并返回{value:any,done:true}。
-
原生TouchEvents实现真实多点触控缩放的关键是连续低延迟追踪两指相对关系并结合视觉锚点平滑变换:需在touchstart时严格校验双指、计算初始距离与中心点,touchmove中过滤抖动、用transform实现零重绘缩放与平移补偿,并通过rAF批量更新、意图识别、惯性衰减及弹性阻尼提升触控感。
-
滚动监听不卡,但回调中查DOM、改样式、发请求必卡;应仅做最轻操作,优先用CSSsticky实现吸顶,懒加载用IntersectionObserver,必须用scroll时加passive和requestAnimationFrame节流。
-
异步加载脚本在JavaScript中主要通过使用<script>标签的async和defer属性或动态创建<script>标签实现。1.async属性允许脚本在下载时继续解析HTML,完成后立即执行。2.defer属性使脚本在文档解析后但DOMContentLoaded前执行。3.动态创建<script>标签提供更灵活的控制,适合处理依赖和加载失败。
-
这不是bug,是Grid默认行为:grid-auto-rows为auto时各行高度由内容独立决定;1fr需父容器有明确高度上下文;align-items:stretch被子项尺寸声明覆盖;跨行不改变轨道自身高度。
-
不能只靠媒体查询单设column-count,必须配合break-inside:avoid、column-gap及阶梯断点;否则小屏会硬切文字、劈开图片、产生空白列,且列高严重不齐。
-
SVG内联图标fill不生效,主因是SVG自带fill属性优先级高于CSS;解决方法为删除原fill或改用fill="currentColor",再通过CSS变量(如--icon-color)或color属性统一控制颜色。
-
clear:both的空div必须是父容器内浮动元素后的直接块级子节点,否则无效;常见失效原因包括位置错误、父容器为flex/grid、display:none或高度被锁定。
-
ServiceWorker无法重定向404,但可在fetch阶段拦截图片请求并静默替换为预缓存占位图实现兜底;需在install时预缓存占位图,fetch中用request.destination==='image'识别、结合缓存匹配与超时控制返回占位图,注意CORS图片需用no-cors模式处理。
-
CSP无法防御CDN篡改,必须与SRI(integrity+crossorigin)配合:CSP控制来源白名单,SRI校验内容指纹;integrity需搭配crossorigin="anonymous"才生效,且哈希须随资源更新。
-
行内元素的margin-bottom不触发布局计算,是CSS规范规定的行为;其垂直空间由line-height和基线决定,需改display为inline-block或block才生效,否则可用padding-bottom、transform或line-height替代。