-
应使用深灰文字(如#212529)搭配微调色浅灰背景(如#f9f9f9),配合无障碍对比度检测与暗色模式适配,确保全场景可读性。
-
ResizeObserver可高效监听DOM元素尺寸变化,通过observe()监听目标元素,contentRect获取内容区域尺寸,borderBoxSize获取含边框尺寸,支持unobserve()和disconnect()清理资源,适用于响应式组件等场景。
-
Node.js事件机制基于EventEmitter类实现异步编程,通过on()注册监听、emit()触发事件,广泛应用于HTTP、流、Socket等场景,支持自定义事件类与once()单次监听,需注意同步执行、内存泄漏及监听器数量限制。
-
结论:禁用navigator.userAgent做浏览器检测,应改用特性检测;UA易伪造、趋同且被简化,匹配逻辑极易误判,仅适用于降级提示等非关键场景。
-
HTML5网站需手动编写或通过脚手架生成,关键在于语义标签、viewport设置、lang属性及正确MIME类型;create-react-app和Vite可快速搭建合规入口,但部署时须确保服务器返回text/html;漏掉任一细节都可能导致页面失效。
-
推荐使用计算属性+浅监听或toRefs解构+单独ref监听对象特定键;避免直接watch对象整体。方案一抽字段为computed再浅监听;方案二用toRefs解构后监听独立ref;方案三仅兜底用deep+key校验。
-
:nth-child(n)中的n是自然数序列而非索引,它匹配父元素下第n个子元素(无论类型),不跳过不匹配节点;真正选“第n个某类型元素”应使用:nth-of-type(n)。
-
flex:1不撑满右侧是因为它分配的是主轴剩余空间,若父容器未设display:flex、左侧未用flex:00200px固定宽度、或右侧缺min-width:0和box-sizing:border-box,则无剩余空间可分,导致失效。
-
::backdrop仅对调用showModal()的原生<dialog>元素生效,不支持div等自定义组件;其样式仅限background、opacity、filter等,不可设宽高定位;需用:root变量配合媒体查询实现主题切换;自定义模态框应使用显式遮罩div替代。
-
按钮点击后应立即设为加载状态:先修改textContent为“加载中...”并添加disabled属性,再发请求;请求结束后无论成败均需恢复文本和可用性;推荐用CSSclass切换状态而非直接操作文本,确保体验一致且易维护。
-
计算属性不能处理异步接口返回,因其设计为同步纯函数,依赖响应式数据实时计算并缓存结果;若引入async/await,则返回Promise而非实际值,破坏缓存与渲染逻辑;应改用watch监听变化并更新ref,再通过computed组合状态。
-
根本原因是box-sizing:content-box导致padding和border额外增加宽度;应全局设box-sizing:border-box,图片加max-width:100%;height:auto;,断点依内容临界点选em单位,字体用clamp()动态缩放。
-
必须用event.waitUntil(),否则浏览器可能在清理完成前终止ServiceWorker,导致旧缓存残留;它需包裹caches.keys()和所有caches.delete()的完整异步链,确保原子性清理。
-
DOM操作是JS与网页结构的唯一接口;选元素用getElementById(快、专用于id)或querySelector(灵活但慢、只返首个);改内容用textContent(安全)而非innerHTML(防XSS);append需传节点而非字符串;注意操作时机与事件监听器丢失。
-
描述符不锁定对象也不直接注册原子类,而是提供属性访问的细粒度控制;通过封装原子状态(如AtomicLong)、禁止直接赋值、暴露专用方法(如increment),实现关键字段的不可篡改性、可校验变更与线程安全读写。