-
用语义化<ol>或<ul>搭建时间线结构,<li>包裹含<time>、<h3>、<p>的卡片,伪元素::before绘制连线与圆点,统一用margin-block-start控制间距,确保可访问性与响应式。
-
required属性仅对text、email、number、date、checkbox、radio、file、select和textarea等可输入/可选值控件有效,对hidden、button、image、range、color及自定义封装组件可能失效;其空值判定逻辑因type而异,且不拦截JS主动提交,不能替代后端验证。
-
平滑指数退避需抖动+响应优先+令牌桶协同:用随机因子避免重试共振,优先采用Retry-After头,结合令牌桶限频;调度器须支持cancel/pause,时间计量改用performance.now()并节流localStorage同步。
-
生成器在异步控制流中的核心作用是作为“流程协调员”,提供非阻塞式的暂停与恢复机制。①通过function*和yield关键字,允许函数中途暂停并将值“吐”出,外部通过next()方法传回值并继续执行;②支持以同步方式编写异步代码,提升可读性和维护性;③提供统一的错误处理机制,通过generator.throw()将错误注入生成器内部,使异步错误处理更直观。
-
WebSocket是协议,Socket.IO是需前后端配套使用的库;前者原生支持、轻量快速但需自研重连降级,后者自动处理兼容性与稳定性但协议不兼容、不可混用。
-
Symbol属性不可枚举,需Object.getOwnPropertySymbols()获取;作为原型属性时既隐式又可被继承访问,适合定义唯一协议方法(如serializable),避免命名冲突,支持跨模块共享、自动委托、运行时检测及多协议组合。
-
步骤条跳转逻辑由父组件状态和业务规则控制,Emit仅传递点击意图;父组件校验后更新currentStep并加载数据,推荐用v-model封装以保持子组件纯粹。
-
<p>JavaScript本身不支持注解语法,但可通过JSDoc注释为变量添加类型和说明,如/*@type{string}/constuserName="Alice";,配合工具实现类似功能。</p>
-
Safari中Flex子项min-height:100%解析为0,因其对包含块高度判定更严格:父容器仅设min-height:100vh而无height时,子项失去百分比参照;需确保html/body有高度、父容器设height或flex:1,并用flex:1替代百分比方案。
-
Number.EPSILON是1与大于1的最小可表示浮点数之差(约2.22e-16),用于浮点数安全比较,但需结合量级基准(如Math.max(|a|,|b|))和相对误差判断,不可直接用于绝对差值比较。
-
单选按钮必须用相同name属性分组,value应为简洁标识符,label负责显示文案,checked用于默认选中,且需保障无障碍支持。
-
HTML无法自动命名PDF,浏览器打印时文件名由<title>决定但不可控;JS截图方案(html2canvas+jsPDF)可自定义名称但质量差;服务端生成才是可靠方案,支持真自动命名与语义化PDF。
-
Vue项目Store膨胀主因是状态组织失当,应通过namespaced模块化划清边界、分离API与类型定义、避免跨模块直接调用,并结合动态注册实现按需加载。
-
HTML通知(NotificationAPI)与WebPush需配合使用才能实现关页后推送;Notification仅负责显示,WebPush负责后台消息传递;Permission为"default"是因用户未明确授权,须由用户主动触发且HTTPS下运行。
-
最稳妥纯CSS实现图片hover蒙层需用::after伪元素:父容器设position:relative,::after必须含content:""、position:absolute、top/left/right/bottom:0、background/opacity及transition,且transition须写在常态规则中。