-
必须用HTTP服务托管HTML,因file://协议导致手机扫码拒绝加载;二维码需动态生成且目标URL为完整可访问地址;须添加viewport元标签并确保路径、视口、资源加载一致。
-
使用伪类after清除浮动,通过添加clearfix类实现父容器高度自适应;2.设置父容器overflow:hidden或auto触发BFC包含浮动;3.采用display:flow-root创建BFC,现代浏览器推荐方案;4.避免使用额外clear元素。建议优先选择::after或flow-root方法。
-
使用:checked伪类可自定义单选框样式,通过隐藏原生input并结合label实现视觉替换。1.用appearance:none隐藏默认样式;2.利用label+:checked选择器创建自定义按钮或圆点效果;3.推荐将input嵌入label以简化结构;4.可扩展为开关或卡片选择器,通过兄弟选择器动态更新外观。关键在于:checked状态与label联动控制样式变化。
-
WebSocket需服务端配合、状态管理、错误重连和协议设计;常见问题包括URL协议错误(须用ws/wss)、连接拒绝、关闭异常及JSON序列化要求;应检查readyState、实现心跳与指数退避重连,并重视消息ID与离线队列。
-
多端同步的核心是各端基于统一规则和数据源独立推导一致状态。需分层管理状态:服务端权威、设备局部、用户偏好;采用事件驱动的增量同步机制;用状态机+副作用分离保障逻辑一致;冲突时乐观更新并自动合并。
-
应避免在循环中重复计算数组长度、滥用事件监听器、用try...catch包裹高频代码:需缓存length、用事件委托替代单元素绑定、移除非必要try...catch以提升V8性能。
-
是的,OKLCH更适合作为品牌色定义空间,因其将感知亮度(L)、色度(C)和色相(H)真正解耦,调色干扰少,支持禁用态降C、深色模式调L等精准控制,但需注意浏览器兼容性、白点声明、回退写法及色彩空间一致性。
-
a[href^="http"]可精准捕获HTTP/HTTPS外链,但需注意大小写敏感、HTTPS兼容及:visited伪类限制;文件与协议链接宜用[href$=".pdf"]和[href*="mailto:"]匹配。
-
clip-path:polygon()是现代浏览器实现六边形最直接可控的方式,需用百分比坐标如(50%0%,100%25%,100%75%,50%100%,0%75%,0%25%)并配合明确宽高或aspect-ratio确保居中与响应式。
-
必须用JavaScript动态修改input.type并同步处理焦点、光标、inputmode、aria-label等,才能安全兼容地实现密码明文切换;直接改type易导致值丢失、光标错位、键盘异常及可访问性失效。
-
for循环在大多数场景下比forEach快2–5倍,尤其数组长度超1000时更明显;因forEach每次迭代创建新函数作用域、隐式调用回调且无法用break中断,而for是原生指令级控制。
-
map、filter、reduce的核心区别在于结果类型:map生成等长新数组,filter返回子集数组,reduce得到单个聚合值;正确选择取决于最终需要的数据形态。
-
align-items控制网格项在单元格内的垂直对齐,如center居中、stretch拉伸;align-content管理多行轨道间的整体分布,如space-between两端对齐、center居中排列;两者结合可实现精确布局控制。
-
CSS动画播放速度由animation-duration直接控制,值越小越快;JavaScript可通过element.style.animationDuration动态修改实现运行中变速,但仅限内联样式且不支持IE;WebAnimationsAPI的playbackRate支持真倍速但仅适用于JS创建的动画。
-
实现符合PromiseA+规范的Promise库需正确处理状态机、异步解析与then链式调用,核心包括:1.定义pending、fulfilled、rejected三种不可逆状态;2.构造函数中通过resolve/reject控制状态变更并维护回调队列;3.then方法返回新Promise,确保异步执行与错误捕获;4.实现resolvePromise函数处理返回值x,递归解析thenable对象并防止循环引用。严格遵循规范可确保兼容性,建议使用promises-aplus-tests验证。