-
最常见的现象是SVG<symbol>定义了、<use>也写了但页面空白,根本原因是<use>的href必须指向同文档内已解析的<symbol>ID,且该<symbol>必须在DOM中提前存在(不能动态插入或藏于未加载的外部文件),ID需严格匹配、区分大小写,<symbol>还必须显式声明viewBox以确保正确缩放和渲染。
-
JavaScript生成器函数是可暂停和恢复执行的特殊函数,通过function*声明并返回迭代器对象,调用next()方法逐步运行,yield关键字实现暂停、返回值及双向通信,适用于惰性计算、异步流程和自定义迭代等场景。
-
Vue2响应式系统基于Object.defineProperty,存在四大缺陷:无法监听新增/删除属性、无法监听对象/数组整体替换、不支持Map/Set等集合类型、性能与兼容性受限;需用Vue.set、Vue.observable、Object.freeze等策略缓解,升级Vue3可彻底解决。
-
MathJax是当前最稳妥的HTML5数学公式嵌入方案,通过JavaScript自动适配浏览器能力并回退渲染,需正确引入脚本、标记公式及动态触发typeset。
-
使用浏览器直接打开本地HTML文件,输入file:///路径即可运行JavaScript;2.推荐安装HTMLViewer等专用App进行实时预览和调试;3.对于AJAX等需同源策略的功能,应通过KSWEB等本地服务器运行;4.注意文件路径正确、语法无误,并避免file://协议加载外部资源。
-
structuredClone()无法拷贝VideoFrame,因其是绑定GPU内存的非纯数据对象,不支持结构化克隆;需提取可转移数据(如ArrayBuffer或ImageBitmap)及元信息,在目标上下文重建。
-
all属性非万能,误用会破坏可访问性与兼容性;应优先精准控制属性,慎用all,避免全局应用,推荐revert而非unset或inherit。
-
内存泄漏是未被回收的内存持续占用导致性能缓慢下降。四大场景:未清理事件监听器、闭包持有大对象、意外全局变量、DetachedDOM树;ChromeDevTools三步定位;预防关键在“谁创建,谁清理”。
-
在响应式设计中保持CSS按钮悬停效果的一致性,关键在于确保视觉反馈在不同设备和屏幕尺寸下都清晰、可用且体验统一。以下是一些实用方法,帮助你在各种设备上维持一致的悬停行为。使用相对单位定义尺寸和间距为按钮设置宽高、内边距和字体大小时,避免使用固定像素值(px),改用相对单位如rem、em或%。这样按钮能随屏幕尺寸缩放,悬停时的视觉变化也更协调。例如:padding:0.75rem1.5rem;比padding:10px20px;更适合响应式布局字体大小使用rem可确保与用户默认设置兼容,提
-
@extend是选择器合并而非复制粘贴,仅适用于无上下文依赖的纯辅助类(如.sr-only、%clearfix);滥用会导致选择器爆炸、优先级错乱和跨文件失效。
-
CommonJS是同步加载、ESM是异步加载——关键区别在于加载是否阻塞主线程:CJS的require立即同步读取并执行模块,ESM的import触发三阶段异步流程(Load/Link/Evaluate),支持静态分析与顶层await。
-
@keyframes动画必须显式定义0%和100%关键帧,仅用from/to存在兼容风险;animation缩写中duration须在delay前且带单位;仅transform和opacity可GPU加速;forwards对infinite动画无效,中断时需用animationend事件固化状态。
-
CSS实现黄金比例布局需手动设定数值:主栏宽61.8%、侧栏38.2%,字体按16px→26px→12px等比缩放,外边距慎用避免维护困难,单位统一并结合box-sizing和clamp()保障响应性与可读性。
-
grid-template-areas必须配合display:grid容器使用,每组引号代表一行,区域名需与grid-area值完全一致;Header/Full/Footer三行布局需设height:100vh和min-height:0才能实现Main自适应与滚动。
-
SVG路径无法用CSS定位是因为其坐标系与CSS盒模型分离,需对<svg>外层容器定位而非<path>;装饰器贴合需同步坐标系与宿主边界;absolute定位后点击失效需设pointer-events和z-index;CSS仅安全动画stroke属性,d属性不支持过渡。