-
JavaScript类实例可直接解构赋值,前提是属性为实例自身可枚举属性;也可通过toObject()方法返回纯对象再解构;或实现Symbol.iterator支持数组式解构;还可结合默认值增强容错性。319 收藏 -
fetch不会自动拒绝404/500等HTTP错误,必须手动检查response.ok并主动throw错误;否则错误响应会被当作成功处理,导致后续解析失败或逻辑异常。319 收藏 -
用grid-template-columns:240px1fr实现侧边栏固定宽、主内容自适应;1fr分配剩余空间而非等同100%或auto;响应式需媒体查询切换布局;resize模拟拖拽需overflow配合;移动端错位多因未设grid-column或高度未拉伸;fr比%/calc()更精准高效。319 收藏 -
Less不支持对象式变量,因变量系统仅接受单一值且为文本替换;需用命名空间模拟键值对,并配合条件混入与方括号语法访问。319 收藏 -
ToNumber将undefined转为NaN、null转为0,根源在于语义定位:undefined表示“缺失”,无可数值化;null作为“空对象引用”,映射为默认值0。319 收藏 -
:has()伪类兼容性有限,Chrome105/Firefox103/Safari16.4起支持,旧版本静默失效;不支持伪元素和状态伪类;构建工具可能误删;JS监听+class切换更可靠。319 收藏 -
使用rel="preload"预加载关键CSS,内联首屏样式并异步加载非关键CSS,结合rel="prefetch"预取后续页面资源,避免渲染阻塞,提升页面加载速度与用户体验。319 收藏 -
outline不占盒模型空间而border占用,这是根本区别:border改变元素布局尺寸,outline仅视觉呈现且不影响周围元素。319 收藏 -
Flex居中失效主因是html/body未设height:100%,需全局重置;推荐用gridplace-items:center替代flex,更稳定;模态框须避免absolute/fixed定位及bodyoverflow:hidden陷阱。319 收藏 -
JavaScript迭代器是按需返回值的统一遍历机制,for...of依赖Symbol.iterator方法;该方法须返回含next()的对象,next()返回{value,done};普通对象需手动实现Symbol.iterator才能被for...of遍历。319 收藏 -
浏览器原生不支持HTML元素直接通过speech属性启用语音识别,必须使用JavaScript的SpeechRecognitionAPI手动实现;input和textarea需绑定onresult事件并将transcript写入value,且受限于HTTPS、权限、浏览器兼容性等硬性条件。318 收藏 -
导航栏下拉菜单不显示的常见原因是JavaScript未初始化或父容器overflow:hidden导致裁剪;需检查JS初始化、data属性、overflow样式、z-index及display/visibility设置。318 收藏 -
Record和Tuple是JavaScript新增的深度不可变数据类型,分别用#{}和#[]表示,支持值比较与结构化克隆,适用于状态管理等场景。318 收藏 -
服务端缓存JavaScript需合理配置Cache-Control和ETag,结合文件哈希实现版本控制,利用CDN加速并设置适当缓存时间,动态内容则按需使用private缓存或服务端响应缓存,同时监控命中率与请求比例,及时清理失效缓存以优化性能。318 收藏 -
JavaScript测试必须覆盖关键路径,单元测试用Jest隔离验证函数/组件,集成测试依场景选Cypress或Vitest,重点保障跨模块数据流与副作用,函数和分支覆盖率比行覆盖率更能暴露风险。318 收藏