-
XMLHttpRequest的timeout必须在open()后、send()前设置,单位毫秒,且需绑定ontimeout事件;超时仅作用于网络传输阶段,responseXML为空时需主动判空,弱网下推荐首载timeout=8000ms。
-
本文介绍如何在Flexbox中实现“标签宽度取max-content与100px的较小值”效果,即:标签内容短时不撑开(避免浪费空间),内容长时至少保持100px宽度并自动截断,同时确保值区域优先收缩。
-
Proxy中捕获属性读取应优先用Reflect.has(target,prop)判断是否存在,避免用target[prop]===undefined误判或漏查原型链;Reflect.get不会因属性不存在抛错,需主动判断;错误信息应友好,如用constructor.name和拼写提示;Proxy实例可能影响instanceof,需对constructor、Symbol.toStringTag等特殊键单独处理。
-
PerformanceAPI监测Canvas游戏帧稳定性需捕获关键渲染阶段时间断点,通过mark/measure记录frame/update/render各阶段耗时,结合p95和max帧耗时识别抖动,并关联DrawCall定位瓶颈。
-
纯CSS无法实现真正的Mesh渐变,但可通过多个radial-gradient()叠加、精准定位、rgba透明度控制及伪元素分层模拟苹果UI中的柔和多点径向渐变效果。
-
HTML5无内置淡入动画,需CSS(opacity/visibility/transition)与JS配合实现;图片加载完或滚动进入视口时触发动画更合理,避免重排卡顿。
-
使用::selection伪元素可自定义文本选中样式,如设置background-color和color属性改变高亮颜色,支持有限CSS属性,需注意兼容性及浏览器前缀。
-
命令模式通过将请求封装为对象,实现了请求发送者与接收者的解耦,使操作可参数化、存储、传递及撤销;它解决了复杂操作中高耦合和扩展难的问题,支持撤销/重做、宏命令、任务队列等场景;典型应用包括GUI按钮菜单、图像处理宏、异步任务队列和游戏行为控制;但其缺点是会增加类的数量,可能导致过度抽象,且撤销逻辑实现复杂,需权衡使用场景以确保收益大于成本。
-
appearance:none在iOSSafari上对select、date、number等控件基本无效,是Apple的系统级限制,旨在保障可访问性;仅text、search、textarea、button、checkbox、radio等基础控件在iOS≥16.4且配合-webkit-appearance:none时部分生效。
-
0b是纯语法糖,仅改变数值书写形式,编译期即转换为等价整型常量,不影响位运算逻辑、执行耗时及生成的机器码,与十进制或十六进制写法行为完全一致。
-
原生popover是布尔属性,仅通过是否存在生效,不可赋值;必须静态存在于DOM中且ID匹配popovertarget;需显式设置z-index避免被原生控件遮挡;JS调用前须确保属性已存在并检测浏览器支持。
-
canvas.width/height设绘图缓冲区分辨率,style.width/height仅控制CSS显示尺寸;二者不一致会导致缩放失真;正确做法是按devicePixelRatio动态设置缓冲区并用CSS匹配显示尺寸。
-
Chrome105+、Safari15.4+、Firefox121+已默认支持:has()伪类,可实现子元素反选父元素,需用>、+、~等关系符精确控制层级,且不可用于选择器中间或与伪元素连用。
-
生成器函数调用后返回一个Generator对象,它既是迭代器(含next()方法)又是可迭代对象(支持for...of和展开运算符),内部维护执行上下文,仅在调用next()时推进并暂停于yield。
-
scroll-snap-type必须配合scroll-snap-align才生效;仅设容器scroll-snap-type:ymandatory不触发吸附,需在每个子元素上显式声明scroll-snap-align:start/center/end,且容器须有溢出滚动(overflow-y:auto)和固定高度。