-
CSS模块化需用PostCSS+postcss-import拆分、CSSModules隔离样式、clsx处理状态组合,禁用@import;伪类/动画须与宿主同文件。
-
JavaScript通过消息队列和事件循环实现异步编程,消息队列暂存异步回调,事件循环在调用栈为空时将任务依次推入执行,微任务优先于宏任务,事件驱动架构则通过监听用户或系统事件触发回调,两者协同确保异步任务有序执行且不阻塞主线程。
-
JavaScript修改DOM样式主要有四种方式:直接操作style属性(需驼峰命名、手动加单位)、用classList增删预定义CSS类(推荐)、调用getComputedStyle获取渲染后样式(只读,避免高频调用)、通过setProperty修改CSS变量实现主题切换。
-
<nav>专用于包裹页面中主要导航链接,如顶部菜单、侧边栏、页内锚点等;不应包含次要链接或非链接元素,避免语义滥用影响辅助技术和搜索引擎理解。
-
浮动元素“消失”是因父容器未形成BFC导致高度塌陷,属CSS规范行为;修复关键在于触发BFC,推荐display:flow-root(无副作用),兼容场景可选overflow:hidden或zoom:1。
-
JavaScript模块化历经从全局污染到IIFE、CommonJS、AMD、UMD,最终演进至ESModules(ESM),其核心是解决命名冲突、依赖管理与代码复用。ESM作为语言原生标准,支持静态分析、TreeShaking、异步加载与实时绑定,统一了前后端模块体系,成为当前最优解。迁移中需应对语法差异、路径处理、同步异步兼容及第三方库支持,建议通过构建工具逐步过渡。
-
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。