-
rel="dns-prefetch"仅提前解析DNS,不发起请求、不下载资源;适用于明确将访问且未缓存的跨域域名,如CDN、统计脚本、字体服务等。
-
object-fit-images现在仍值得用,因为旧版Edge(12–18)和IE全系完全不支持object-fit,会直接退化为拉伸失真;它是轻量、低侵入的polyfill,仅补能力、不改DOM、无需改用background-image。
-
优先用getElementById(性能好、语义清),无id时用querySelector;textContent仅设纯文本并自动转义,innerHTML解析HTML但有XSS风险;批量操作用DocumentFragment减少重排;动态元素绑定事件应即时或用事件委托。
-
根本原因是字符编码未对齐,需确保HTML声明、HTTP头、文件保存、传输编码均为UTF-8;innerHTML插入时避免双重转义;HTML转义与URL编码不可混用;零宽字符等需特殊处理。
-
邮件链接用mailto:协议,需紧接合法邮箱且无空格;电话链接用tel:协议,国际号码须+开头E.164格式;协议名全小写,移动端有效,微信内置浏览器有限制。
-
fill()无法生成独立引用矩阵,因它复制同一对象引用;正确做法是在map回调中每次新建对象,或用Array.from({length:n})替代以避免空位问题。
-
选::before或::after均可,关键在于父容器设position:relative,伪元素用position:absolute配合top/left和transform精确定位箭头。
-
直接使用加号在HTML中通常可行,但为确保正确显示和传输,需根据场景选择:普通文本用+,避免解析错误用+或+,URL参数中用%2B编码。
-
优先推荐CSSGrid方案,因其能按行列严格对齐、避免浮动塌陷;次选固定容器+object-fit实现图片等比缩放;float仅作兼容补救,需清除浮动并设min-height和vertical-align。
-
应按基础层、组件层、布局层、主题层四层组织CSS结构,分别对应base.css、components.css、layout.css、theme.css,配合@layer分层或命名空间前缀控制作用域,变量需语义化并全程中转,class命名重业务语义轻语法规范。
-
闭包是函数与其词法作用域的组合,需同时满足:存在内部函数、该函数脱离原始作用域、执行时仍访问外层变量。典型例子为createCounter返回递增函数,使count持续被引用;常见误用包括循环中var共享变量和闭包导致DOM内存泄漏。
-
BEM是约束CSS作用域边界的协作协议,通过块(Block)、元素(Element)、修饰符(Modifier)三部分及双下划线__、双短横--命名规范,确保类名可反推DOM结构与意图,明确组件边界与职责。
-
答案是:选择浏览器存储技术需根据数据的生命周期、大小、安全性及用途来决定。localStorage适用于长期存储非敏感用户偏好数据,因其持久化且容量较大(5-10MB),但需注意其同步操作可能阻塞主线程且不适用于敏感信息;sessionStorage适合临时会话数据,页面关闭后自动清除,使用方式与localStorage相同;Cookies虽容量小(约4KB)且每次请求自动携带,但可通过设置HttpOnly、Secure和SameSite属性增强安全性,常用于存储需随请求发送的认证token或会话ID;对
-
RGBA比RGB多一个Alpha透明度通道,取值0到1,可实现半透明效果;RGB仅能表示纯色,而RGBA广泛用于网页设计中的遮罩、渐变叠加等视觉层次处理。
-
WeakRef单独无法支撑图像资源池,因其仅提供“可能还活着”的引用通道,不通知回收时机;必须搭配FinalizationRegistry才能触发自动清理,否则缓存条目堆积、deref()频繁返回undefined导致重复加载与内存泄漏。