-
async/await是Promise的语法糖,将链式调用扁平化,不改变事件循环;需在async函数中使用,错误用try/catch捕获,多个await默认串行,需Promise.all实现并发。
-
本文详解如何在React应用中精确控制鼠标滚轮(wheel)事件的滚动步长,包括拦截默认行为、动态缩放delta值、适配多设备差异,并提供可直接集成的Hook封装与最佳实践。
-
CSSGrid溢出需同时设置容器overflow和子项min-width/min-height:0;否则默认min-width:auto会撑开轨道。可实现整体滚动、子项局部滚动或hidden裁剪。
-
纯CSS无法实现物理碎裂,只能用clip-path+transform模拟视觉碎裂重组,需固定尺寸、background-image、polygon()路径、≤16块,且Chrome105+/Firefox兼容性受限;Canvas+requestAnimationFrame更可控。
-
ServiceWorker是JavaScript实现缓存策略的核心,通过拦截请求、自定义响应及持久化存储支持离线访问;需HTTPS注册,经历install(预缓存)和activate(清理旧缓存)生命周期,并依资源类型选用Cache-First、Network-First或Stale-While-Revalidate策略。
-
ul和li必须成对嵌套,孤立li会导致结构错乱、CSS失效、屏幕阅读器误读;list-style-type仅对display:list-item元素生效,改display会丢失符号;语义正确性优先于视觉灵活,避免滥用div替代列表。
-
JavaScript通过GeolocationAPI获取用户位置,需HTTPS/localhost安全上下文及用户授权;先检测支持性,再用getCurrentPosition获取单次位置或watchPosition监听变化,并处理权限、超时等错误。
-
ExpoImagePicker在Android设备上默认仅显示系统相册(如“最近”“相机”“截图”等),无法访问外部存储或第三方应用创建的相册;启用legacy:true可强制使用旧版原生图库选择器,从而完整列出所有媒体文件夹。
-
原子类、scopedCSS、CSS-in-JS各有适用场景:原子类适合标准化后台系统但维护性差;scopedCSS编译期零开销但穿透滥用易导致样式冲突;CSS-in-JS解决动态样式需求但需注意SSR和性能。
-
ServiceWorker注册失败主因是路径或作用域错误:路径须为根目录相对路径(如"/sw.js"),scope需显式设为"/"才能覆盖全站;必须HTTPS(localhost除外),且页面加载完成后注册。
-
Bootstrap5通过:root定义CSS变量实现主题切换,需在BootstrapCSS后注入变量、同步更新配套变量,并用data-bs-theme属性控制以避免冲突。
-
最可靠方案是使用原生<video>标签,需指定src或<source>、加controls属性、用preload="metadata",路径错误和格式不支持是常见失败原因。
-
结论:用SassMixin封装图片裁剪mask逻辑时,应通过$mask-url参数传入路径,同时输出-webkit-mask-image和mask-image,并将mask-mode、mask-size等设为可选参数,默认unset,避免写死导致复用性崩塌。
-
scroll-snap-type必须配合scroll-snap-align才生效;容器设ymandatory时子项须设start/center/end;方向需匹配实际滚动轴;mandatory强制停靠,proximity仅就近停;iOS需明确高度和硬件加速。
-
readonly保留值提交且支持聚焦复制,disabled禁用交互且不提交值;readonly仅对text/password/textarea有效,disabled全支持;需“禁用但提交”时应配合hidden字段。