-
使用<pre>标签并转义特殊字符可防止HTML运行,如<div>显示为文本;通过textContent插入代码或用Prism.js等库也可实现安全展示。
-
CheckboxHack能触发Grid变换,是因为:checked状态变更会触发浏览器样式重计算,从而重新应用包括grid-template-areas在内的布局声明;但必须为每种模式写死完整grid-template-areas字符串,不支持变量拼接。
-
用纯CSS可实现输入框验证通过后动态显示对勾图标:需将.icon设为input的相邻兄弟元素,父容器设position:relative,.icon用position:absolute+top:50%+transform:translateY(-50%)垂直居中,初始visibility:hidden,通过input:valid+.icon切换visibility:visible,配合opacity和transform实现淡入上浮动画,无需JavaScript。
-
flex-grow可配合CSS变量动态算比例:在HTML中用style="--r:1.777"注入纯数字变量,CSS中写flex-grow:var(--r,1)并设flex-basis:0,Chrome/Firefox/Safari≥15.4支持,需防字符串、单位、width干扰及IE11兼容问题。
-
JavaScript性能优化的核心是减少主线程阻塞、降低资源加载压力、提升执行效率,关键通过代码分割实现按需加载、合理利用构建工具分包能力、控制加载与执行时机,并借助工具监控验证效果。
-
receiver不可省略,因为Reflect.set(target,prop,value,receiver)能确保setter中this指向当前操作对象(如admin),而非原始target(user),并正确处理属性描述符、原型链委托及getter/setter的this绑定。
-
customRef是Vue3提供的高级响应式API,用于自定义ref的getter和setter行为;它通过手动调用track()和trigger()控制依赖追踪与更新触发,从而实现输入防抖——每次输入清除旧定时器、延迟后才赋值并触发响应式更新。
-
forEach用于执行操作且返回undefined,适合处理副作用;map用于数据转换并返回新数组,支持链式调用,应根据是否需要新数组选择方法。
-
移动端橡皮筋回弹无法仅靠overscroll-behavior:none禁用,因其不作用于根元素;须结合html/body{overflow:hidden}、独立滚动容器及touchmove事件拦截(passive:false)方可可靠禁用。
-
CustomEvent构造函数创建自定义事件需传入事件名和含detail属性的配置对象,detail为必需字段用于携带任意数据;通过dispatchEvent触发,addEventListener监听时通过event.detail读取数据;可选bubbles、cancelable等配置控制事件行为。
-
Symbol.unscopables仅控制with语句中属性是否被注入词法作用域,不提供任何安全保护;其值为对象,键为属性名、值为布尔值,true表示该属性在with块内不可通过标识符访问,但所有其他访问方式(如obj.prop、Reflect、继承等)均不受影响。
-
readonly的值会随表单提交,disabled的值则完全不提交;前者可聚焦、复制,后者不可交互且置灰,且disabled对所有表单元素生效而readonly仅适用于text/password/textarea。
-
label的for属性必须严格匹配控件的id才能正常触发点击和保障可访问性;for只通过id查找元素,与name无关;id必须唯一、大小写敏感、无多余空格或不可见字符;radio/checkbox每项需独立id和for;嵌套写法虽简洁但有局限,显式for+id更稳定;动态生成时需确保id唯一且时机正确。
-
BEM通过“块__元素--修饰符”结构解决CSS作用域失控问题:user-card__avatar--large明确标识模块归属、部件身份与状态变体,避免同名类冲突与语义混淆。
-
纯HTML无法实现侧边抽屉效果,因其无交互、无状态、无样式控制能力;需HTML提供语义化结构、CSS控制定位动画、JS管理状态与可访问性。