-
Map比普通对象更适合memoization缓存,因其支持任意类型key、O(1)操作、不污染原型链;正确构造key需避免引用相等陷阱,优先用JSON.stringify(基础类型)或WeakMap(单对象参数);TTL缓存需手动维护过期逻辑;React中应useRef持有Map并确保key语义一致。
-
最直接的隔离方式是使用Tailwind的prefix配置,如prefix:'tw-',使text-lg→tw-text-lg;需重新编译CSS并手动更新HTML/JS中类名,第三方插件需确认支持前缀。
-
class声明不提升且强制new调用,function声明提升且可直接调用;class方法不可枚举、子类必须super(),static方法定义时机与绑定方式也不同。
-
<p>ViewTransitionsAPI仅支持同一页面内同名、同级或嵌套的DOM节点间过渡,需用单容器包裹缩略态与展开态并共享viewTransitionName,通过aria-hidden切换状态,动效必须使用:view-transition-*伪类和@property控制。</p>
-
:focus直接生效但易污染全局、损害可访问性;失效主因是outline:none未替代、动态元素未就位、显隐属性阻断、权重覆盖、语义类型未区分;推荐用:focus-visible区分键盘/鼠标聚焦,并适配高对比模式。
-
srcdoc的核心作用是让<iframe>直接渲染内联HTML字符串,不发网络请求且默认隔离源;它专为内容可控、加载零延迟、安全边界清晰的小型动态场景设计,需配合sandbox使用以防范XSS风险。
-
CSSGrid结合媒体查询可高效实现响应式布局。通过display:grid定义二维结构,使用grid-template-columns设置列宽,配合@media在不同屏幕尺寸下调整网格:移动端单列、平板双列、桌面多栏。利用repeat(auto-fit,minmax(250px,1fr))可自动适配列数,减少媒体查询依赖。需设置合理断点(如600px、1024px),采用相对单位并测试真实设备,确保内容可读与布局弹性。该组合是现代响应式设计核心方法。
-
JavaScript通过消息队列和事件循环实现异步编程,消息队列暂存异步回调,事件循环在调用栈为空时将任务依次推入执行,微任务优先于宏任务,事件驱动架构则通过监听用户或系统事件触发回调,两者协同确保异步任务有序执行且不阻塞主线程。
-
AbortController是实现自动注销DOM事件监听器最简洁可靠的方案,闭包仅用于捕获signal并注入监听器,调用controller.abort()即可一行清除所有绑定监听器且无内存泄漏。
-
CSPnonce是为每次HTTP响应生成的唯一随机值,用于安全允许特定内联脚本执行,解决XSS防护下必需内联脚本的授权问题。
-
使用preload+onload是推荐的异步加载CSS方案,通过rel="preload"高优先级下载不阻塞渲染,在onload时改为rel="stylesheet"启用样式,结合动态创建link可实现非阻塞且可控的加载时机,避免页面闪动。
-
本文介绍如何使用CSSradial-gradient配合CSS自定义属性与伪元素,创建一个以鼠标为中心、可动态移动的圆形聚光灯效果,真正“照亮”黑色背景中的内容,而非简单叠加图层。
-
Chrome和Edge强制将小于12px的font-size提升至12px以保障可访问性,Firefox无此限制但受用户级最小字号设置影响;可通过transform:scale()、SVG文字或图片替代等方法绕过,需注意布局补偿与兼容性。
-
BarcodeDetectionAPI在Chrome87+安全上下文中可用,需显式指定formats(如["qr_code"]),detect()仅接受video/canvas/ImageBitmap,返回结果含rawValue、format和boundingBox,但无纠错信息。
-
:enabled和:disabled伪类用于区分表单元素的可交互状态。1.:enabled匹配可操作元素,如可输入文本框;2.:disabled匹配添加disabled属性的元素,常为不可编辑状态。常见应用包括设置不同背景色、文字颜色及光标样式,例如禁用时背景变灰、文字变淡并显示not-allowed光标。3.实际场景中常用于提交按钮防重复提交,结合JavaScript动态控制状态,样式自动切换。4.可配合input:disabled::placeholder调整禁用状态下占位符颜色,保持界面一致性。合理