-
内存泄漏是未被回收的内存持续占用导致性能缓慢下降。四大场景:未清理事件监听器、闭包持有大对象、意外全局变量、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属性不支持过渡。
-
模块化权限控制的核心是在查找、加载、注册三阶段层层拦截:查找时用MetaPathFinder静默拒绝,加载时用自定义Loader执行前校验,注册后动态冻结模块,越早拦截越安全可控。
-
真实断点应从内容撑开或挤崩的临界宽度出发,用ChromeDevTools拖动宽度滑块观察导航换行、卡片堆叠、表单重叠、图片变形等现象,记录如623px等值后向上取整为640px、900px等;一律使用min-width媒体查询,避免max-width留白;CSS变量不可用于@media条件中;需同步处理表单和图片的固有行为,如input最小宽、textarea最小高、img的max-width:100%等。
-
选SSE还是WebSocket取决于通信方向:单向推送用EventSource,双向交互必须用WebSocket;前者轻量但仅服务端推,后者支持全双工且兼容性更优。
-
什么是CSS颜色分层,不是简单写几个--color-primary颜色分层本质是把颜色按语义+使用场景切开,而不是按色值归类。比如--color-primary不能只代表“蓝色”,它得明确回答:这个蓝用在按钮上?还是标题文字?还是禁用态背景?同一色相在不同语境下亮度、对比度、透明度都该不同。很多人直接定义--blue-500然后到处用,结果在深色模式下文字看不见,或在按钮上和背景对比不足——问题不在变量名,而在没分层。必须拆开的三层:基础色、语义色、场景色基础色只存原始色值(如#2563eb),不
-
Array.fromAsync目前不可用,因其仍处于TC39Stage3提案阶段,V8等引擎尚未实现,所有主流环境均无原生支持,直接调用会报TypeError;可靠替代方案是forawait...of手动收集。
-
Node.js有setImmediate而浏览器没有,这是最直接的识别标志;它属于check阶段,紧接poll阶段之后,浏览器事件循环无此阶段和API,调用会报ReferenceError。
-
最实用的企业官网HTML模板是30分钟内可完成公司名、联系方式和三张产品图修改并上线的单页式或Bootstrap5原生结构模板,需满足扁平文件结构、统一导航控制和硬编码信息全局可搜替三大前提。