-
直接混用BEM和原子类会出事,因二者设计哲学冲突:BEM强调语义化与作用域隔离,原子类追求极致复用;混用导致样式不可追溯、class爆炸、重构难判断真需求。
-
Blob是JavaScript中表示不可变原始二进制数据的内置对象,是二进制数据容器,可由字符串、ArrayBuffer等创建,File是其子类;需用newBlob([data])构造,读取依赖异步方法如text()或arrayBuffer(),下载时常用URL.createObjectURL()生成临时链接。
-
<p>HTML模板中只能用<!---->注释,因解析器仅识别该格式;其他如//或//会被当作普通文本显示,可能污染DOM、破坏结构或引发XSS风险。</p>
-
浅拷贝通过只复制顶层引用、保留嵌套结构原地址实现可控隔离,适用于扁平数据、仅改顶层字段及性能敏感场景;常见写法如{...obj}、[...arr],但嵌套修改仍联动;需初始化时拷贝并配合不可变更新。
-
根本原因是CSS层叠规则生效,scoped仅通过属性选择器隔离组件内样式,无法阻止第三方全局CSS覆盖;第三方样式权重更高、加载更晚或重置基础标签导致覆盖。
-
JavaScript的try...catch仅捕获同步执行异常,不处理异步错误、语法错误、资源加载失败及Promise拒绝;需在调用处包裹且await异步操作,catch参数应命名避免覆盖Error,finally中避免return或throw。
-
不能。直接使用shadowRoot.innerHTML=htmlString会导致内联<style>和<script>逃逸至全局作用域,引发样式污染与XSS风险;必须通过DOMParser解析后,将<style>转为CSSStyleSheet并用adoptedStyleSheets注入,<script>需沙箱执行并重绑定this/window/document。
-
HTML本身不提供Base64编解码能力,必须依赖JavaScript的atob()/btoa()或FileReader;btoa()仅支持ASCII字符串,遇中文、emoji等会报InvalidCharacterError,正确做法是先用TextEncoder转Uint8Array再处理;嵌入图片时需严格匹配data:mime-type;base64,格式,确保MIME类型准确、无换行空格。
-
HTML模板需手动替换占位符并配置路径:修改loremipsum等示例内容,校准图片/脚本路径,处理JS动态渲染与JSON数据源,禁用file://直接打开,须用本地服务器调试。
-
trigger是Vue3响应式系统中负责派发更新的核心机制,由Proxy的set拦截器隐式调用,根据操作类型(SET/ADD/DELETE)触发对应依赖;它与triggerRef的区别在于:前者是内部函数作用于reactive/ref,后者是供开发者手动唤醒shallowRef响应的API。
-
必须在无法通过常规层叠规则覆盖样式时使用!important,典型场景包括:第三方库样式冲突、动态内联样式需强制覆盖、调试验证;它仅作用于单个属性,不改变选择器权重比较逻辑,且对继承无效。
-
nth-child(2n)为什么选不到偶数列?因为nth-child作用在行内单元格(td或th)上时,是按「父元素中的子元素序号」计算的,而表格中每行的td都是各自tr的子元素——所以td:nth-child(2n)选的是**每行里的第2、4、6…个单元格**,不是整个表格的第2、4、6…列。这是最常被误解的一点。真正选择“第2列、第4列”的正确写法必须用列选择器col配合:nth-child,或者用td:nth-of-type+结构约束。更可靠的是:在中定
-
子应用调用document.querySelector本身不污染主应用,但因共享document可能查到主应用DOM、误操作全局节点或引发样式/逻辑错乱;真正风险在于全局访问能力与上下文混淆。
-
HTML结构本身不参与关键词排名计算,但错误结构会导致搜索引擎无法识别内容重点;真正起效的是语义标签、内容层级与位置信号共同构建的「可理解性」。
-
不能,subgrid不能直接替代传统嵌套Grid;它仅作用于直系子元素,需父容器设grid及轨道定义、子元素显式声明subgrid,缺一即退化;兼容性需双重@supports检测并配合CSS变量fallback。