-
合理使用:optional和:required伪类可直观区分表单必填与选填项。1.通过不同边框颜色(如红色表示必填,灰色表示可选)实现视觉区分;2.利用label:has(input:required)::after添加红色星号提示,避免HTML冗余;3.聚焦时通过outline和box-shadow区分字段重要性,提升操作反馈;4.结合:invalid高亮未填写的必填项背景,强化错误提示。纯CSS语义化控制,无需JavaScript或额外类名,配合aria属性可提升无障碍访问体验,有效增强表单可用性与可
-
<output>需严格绑定ID才能自动更新,for值须与目标id完全匹配;仅支持<formoninput>触发计算,须用valueAsNumber等安全取值,样式需设inline-block和min-width防抖动,JS操作只改value。
-
navigator.storage.estimate()是前端唯一标准化API,用于估算origin总存储usage与quota,但需安全上下文,返回值为启发式估算而非精确值,须自行实现预警逻辑。
-
要运行HTML代码需确保其被正确解析,最直接方法是将代码保存为.html文件后用浏览器打开;也可通过JavaScript操作DOM动态插入HTML内容;还可利用PHP、Python等服务器端语言输出HTML响应,由浏览器解析;此外,使用JSFiddle、CodePen等在线平台可实现实时预览与调试,便于快速测试和开发。
-
嵌套路由面包屑点击回退需还原完整路由状态,包括参数、查询、滚动及子模块状态;每项应为可恢复的“路由快照”,通过meta.breadcrumb标识层级,结合matched截取、参数继承、query过滤与router.replace实现精准复原,并配合keep-alive动态key与权限守卫处理异常场景。
-
JavaScript不支持真正多继承,但可通过Mixin模式模拟:将多个对象的方法复制或委托到目标对象,实现行为复用;Mixin是提供可复用方法的纯函数或对象,强调横向组合而非纵向继承,常用于日志、缓存等通用能力。
-
output标签需显式绑定+事件触发才更新,无自动响应机制;必须设for属性且ID匹配,用value属性更新,不参与表单提交,移动端Safari兼容性差。
-
background-attachment:fixed在移动端失效是浏览器主动禁用的策略,非兼容性问题;iOS15+Safari和多数Android浏览器均忽略该属性,即使加硬件加速也无效;替代方案为position:sticky模拟视差或scroll-drivenanimations精确控制。
-
ServiceWorker离线缓存必须分install、fetch、activate三阶段协同控制:install预缓存资源,fetch按destination分流响应,activate清理旧缓存并claim接管;任一环节缺失即导致白屏或加载失败。
-
不能直接多次newWebSocket(),因会导致多连接并存、资源浪费、消息重复、重连混乱,且跨端不兼容;闭包单例通过IIFE锁定instance实现唯一初始化,但需配合uni.connectSocket、状态清理、指数退避重连等手动补全逻辑。
-
采用emit主动回传校验结果,子组件内聚校验逻辑并按field标识触发validate事件,父组件聚合状态、统一决策;支持同步/异步、防抖、错误提示与样式联动,结构清晰、响应式强、易于测试。
-
discard后JS环境已终止,无法监听;唯一可靠信号是pageshow且persisted===false,需结合URL标记、localStorage时间戳、navigation.type交叉验证;保存现场仅能在freeze事件或pagehide且persisted===true时完成。
-
submit事件用于表单提交前整体校验与阻断,必须监听form元素;change事件在控件值变更并失焦后触发,仅反映最终值变化,不参与提交流程,需单独监听控件。
-
不能。CSS无数据绑定机制,data-属性与CSS变量无法自动关联,需JS通过setProperty()等方法手动同步更新。
-
css-loader默认不解析@import/url(),需启用import/url选项或配合postcss-import;modules配置影响CSSModules行为,TS项目须设exportLocalsConvention;它仅解析CSS,注入/抽离由style-loader或mini-css-extract-plugin完成;SourceMap需全链路开启才准确定位。