-
CSS模块化需用PostCSS+postcss-import拆分、CSSModules隔离样式、clsx处理状态组合,禁用@import;伪类/动画须与宿主同文件。
-
JavaScript通过消息队列和事件循环实现异步编程,消息队列暂存异步回调,事件循环在调用栈为空时将任务依次推入执行,微任务优先于宏任务,事件驱动架构则通过监听用户或系统事件触发回调,两者协同确保异步任务有序执行且不阻塞主线程。
-
<nav>专用于包裹页面中主要导航链接,如顶部菜单、侧边栏、页内锚点等;不应包含次要链接或非链接元素,避免语义滥用影响辅助技术和搜索引擎理解。
-
浮动元素“消失”是因父容器未形成BFC导致高度塌陷,属CSS规范行为;修复关键在于触发BFC,推荐display:flow-root(无副作用),兼容场景可选overflow:hidden或zoom:1。
-
HTMLGrid会显著削弱IE支持,IE10完全不支持,IE11仅支持2011年旧草案的-ms-grid语法,现代grid语法(如display:grid、grid-gap、grid-template-areas)被直接忽略或导致布局错乱,无法与-ms-grid兼容混用。
-
本地运行HTML文件只需双击打开,或用浏览器手动加载;若需完整功能,可用Python启动本地服务器,通过http://localhost:8000访问,适合开发调试。
-
currentColor是CSS关键字,可继承父元素文本颜色,通过设置svg{fill:currentColor}或在SVG中使用fill="currentColor",使图标颜色随文字颜色自动同步,例如按钮文字变色时图标颜色也随之改变,无需额外代码。
-
visibility:hidden保留布局、禁用交互且不被读屏软件识别,opacity:0保留布局和交互、支持过渡动画但需配合pointer-events:none和aria-hidden才安全。
-
HTML5<audio>仅支持特定容器与编码组合:MP3需MPEG-1LayerIII、WAV限16位PCM、OGG仅Opus/Vorbis、M4A/MP4须AAC-LC或ALAC;浏览器兼容性差异大,需用<source>按优先级fallback并精确声明type,且服务端须配置正确Content-Type、CORS及Range支持。
-
for循环在多数场景下仍是最快选择,因现代引擎深度优化;forEach适合副作用操作但无法中断;map/filter等声明式方法应按需使用,注意性能开销;for...of兼顾可读性与控制力;真正瓶颈常在循环体内操作。
-
游戏循环应使用requestAnimationFrame而非setInterval,以对齐屏幕刷新率、省电且稳定;需分离更新与渲染,用固定时间步长累积deltaTime并保留余量,避免逻辑帧率波动;update只改状态,render只负责绘制;须清理raf防止内存泄漏。
-
Headless浏览器自动化测试核心在于稳定性、可调试性及符合真实用户行为,推荐Puppeteer和Playwright而非Selenium;前者通过CDP精准控制加载时机、字体就绪、多浏览器兼容等,后者统一API覆盖Chromium/WebKit/Firefox并支持真实Safari预览版。
-
BigInt与Number不兼容,因类型系统禁止隐式转换,混合运算如1n+1会抛TypeError;必须显式转换,且BigInt()构造函数不接受Number参数,JSON、Math、Date等API均不支持BigInt。
-
TDD通过“红-绿-重构”循环提升代码质量:先写失败测试,再写最简实现,最后优化结构;配合Jest等工具搭建环境,编写纯函数与模块化代码,确保可测性;以add函数为例,从测试出发逐步实现功能,验证逻辑正确性,增强项目稳定性与维护性。
-
顶层await允许在ES模块顶层直接使用await,无需包裹在async函数中。它使模块能暂停执行直至异步操作完成,适用于动态配置加载、条件导入和资源预初始化。需使用.mjs文件或设置"type":"module",并在支持的环境(如Node.js14.8+、现代浏览器)中运行。模块变为异步后会阻塞导入者,应避免滥用以防影响性能。主流浏览器和Node.js已广泛支持该特性。