-
基础文本框应写为<inputtype="text"name="xxx"id="xxx">并配<labelfor="xxx">;value属性设初始值,.value读写运行时值;无name不提交,disabled不提交而readonly可提交。
-
用parseInt()和toString()实现健壮进制转换器:先清洗字符串(去空格、识别并剥离0b/0o/0x前缀)、显式指定radix解析,校验整数与安全范围,input事件实时响应并处理粘贴,避免NaN和精度丢失。
-
ServiceWorker实现离线访问需满足注册激活、缓存策略与请求URL及Request.mode严格匹配;scope决定拦截范围,install阶段用cache.addAll()预缓存完整路径资源,fetch中按destination/mode分类响应,并注意credentials等匹配细节。
-
色盲用户无法区分红绿色盲的#FF0000与#008000、蓝黄色盲的#0000FF与#FFFF00;需用对比度比值(正文≥4.5:1)、非颜色线索(图标/文字/边框)、高对比模式适配及可见交互反馈保障可访问性。
-
URLAPI是浏览器和Node.js(v10.0.0+)原生支持的标准URL解析工具,需传入绝对URL或配合base参数使用;其属性只读,query操作应通过URLSearchParams,修改路径或协议须新建实例,并注意对不可信输入做try/catch和协议校验。
-
:checked+label只能改label背景而不能覆盖整行,因label默认inline且CSS无父选择器;可通过absolute定位使label视觉铺满容器,但须确保input可点击、可聚焦、可被读屏识别。
-
闭包通过作用域隔离实现变量真正不可变:内部变量无法被外部访问或修改,仅暴露经校验的变更方法。如订单状态机中,state和流转规则封装在闭包内,仅提供getState()和带校验的transition(),杜绝直接操作。
-
虚拟DOM的核心是避免手动频繁易错的DOM操作,提供可预测、可维护、可批量优化的更新机制;它用JS对象描述DOM结构,通过diff和patch实现最小化更新,支撑Vue响应式与声明式开发。
-
直接对height使用transition无法实现流畅折叠动画,因CSS不支持height:auto到具体值的过渡。常用max-height配合overflow:hidden模拟动画,但设置过大数值会导致动画拖沓。推荐方案一:合理设定max-height上限值(如240px),结合transition控制动画时长0.3s~0.5s,适用于简单场景。更优方案二:通过JavaScript动态读取元素scrollHeight,再设置height的具体值并添加transition,实现基于真实高度的平滑展开收起效
-
text-wrap:balance仅Chrome120+和Edge120+支持,Firefox与Safari完全不支持;text-wrap:pretty对中文几乎无效;line-clamp需display:-webkit-box等三件套配合;word-break优先级高于overflow-wrap。
-
cite标签仅用于标记作品标题(如书名、文章名),不可用于引用标记、URL、人名或引文内容;其语义严格限定于“被引用作品的名称”,浏览器默认斜体仅为样式表现。
-
HTML5视频的Picture-in-PictureAPI在嵌入场景下需同时满足三条件:iframe显式声明allow="picture-in-picture"、video已加载元信息且用户手势触发调用、跨域时通过postMessage协作并校验origin。
-
JavaScript操作二进制数据主要依靠ArrayBuffer及其视图(如Uint8Array、DataView)进行内存级精细控制,而Blob用于不可变的类文件二进制数据,适用于网络请求、文件读写和媒体操作;二者定位不同,ArrayBuffer支持同步随机访问,Blob侧重流式处理与浏览器API集成,可相互转换。
-
@media本身不拖慢,但写法不当会导致断点失效或响应卡顿,根源在于重排/重绘、选择器权重混乱、JSresize未节流及rem基准漂移等问题。
-
CSS引入方式有内联、内部和外部三种,推荐使用外部样式表以提升性能与维护性。link标签同步加载,兼容性好,而@import异步加载,存在渲染延迟且IE4不支持。老版本IE对CSS3、媒体查询支持差,最多识别31个link标签。现代实践建议用link引入主样式,结合条件注释适配IE,通过构建工具合并文件并用Autoprefixer添加前缀,确保兼容性与性能。