-
JavaScript错误处理需分层拦截、类型识别与明确抛出:try...catch不捕获异步错误、语法错误及未处理Promise拒绝;应使用Error子类区分业务异常,Promise链须显式catch,全局需同时监听error和unhandledrejection事件。
-
embed标签必须显式设置type="application/pdf",否则Firefox/Safari会失败;iframe兼容性更好;复杂功能需用pdf.js实现。
-
document.title是最直接有效的动态改标题方式,它直接控制HTML页面的<title>标签内容,赋值后立即反映在浏览器标签页上,无需操作DOM节点或重新渲染。
-
loading="lazy"并非万能,需考虑浏览器兼容性、首屏关键图加载稳定性、srcset/sizes语法正确性、框架属性透传及局部滚动容器限制。
-
使用opacity可设置元素整体透明度,取值0到1,但会影响所有子元素;若仅需背景半透明,推荐使用RGBA颜色值,如background-color:rgba(0,0,0,0.5),以保持文字清晰。
-
dataTransfer传数据必须严格遵循事件生命周期:dragstart设setData、dragover阻止默认行为、drop中用相同MIME类型getData,三者缺一不可;跨源、移动端不支持,文件只能通过files属性获取。
-
text-overflow:ellipsis仅对单行生效,多行需用-webkit-line-clamp;其要求display:-webkit-box、-webkit-box-orient:vertical、整数行数及明确高度限制,且仅WebKit/Blink内核支持,Firefox等需降级处理。
-
WeakRef不能直接管理WebGL纹理生命周期,因其仅能弱引用JS层wrapper对象,无法安全持有或感知GPU底层texture句柄;真正释放必须显式调用gl.deleteTexture(),WeakRef仅辅助探测引用状态,不替代主动资源管理。
-
justify-content:flex-start对最后一行无效,因其仅控制单行内主轴对齐且不识别“最后一行”;flex-wrap启用后浏览器为每行单独计算剩余空间,未填满时仍按容器级justify-content重新分配,导致居中或右偏。
-
@warn和@error是保障CSS参数安全的核心守门员,需编译链路透出、开发者关注、CI捕获;@warn用于可降级的参数误用(如单位混用、过时调用),@error用于必须熔断的关键错误(如非法断点、变量缺失)。
-
在Vue中,v-for循环需用函数式ref或数组ref实现多元素独立引用,禁用字符串ref;须配唯一稳定key(如item.id),避免索引变动导致引用错位。
-
HTML模板需语义化、无歧义嵌套、零冗余:必含DOCTYPE、lang、UTF-8、title;用header/nav/main/aside/footer替代div堆砌;img需alt、a用相对路径、form必配label;预留[inject:css/js]锚点便于扩展。
-
可通过代理构造函数的prototype实现继承体系方法调用的动态监控:拦截get获取函数属性并包装审计逻辑,同步处理getPrototypeOf、has、ownKeys等trap保障原型链完整与instanceof正常;支持逐级代理多层继承原型链,并提供开关、白名单、采样率等可配置审计策略。
-
typeof对字符串字面量返回"string",对String包装对象返回"object";前者是编译期确定的常量,后者是引用类型实例,instanceof不可靠且易受原型篡改影响。
-
font-optical-sizing用于启用支持OpenType光学尺寸的可变字体自动切换字形,提升多字号下的可读性;需字体内置opsz轴,现代开源字体如Inter、IBMPlexSans支持,Helvetica等传统字体不支持;默认auto,无需显式声明,仅对@font-face中启用的可变字体生效。