-
Props本身不支持防抖,因其是被动接收的数据通道;真正需防抖的是子组件中基于props变化触发的副作用逻辑,如请求、计算或DOM更新,应通过watch+防抖函数或上移至父组件实现。
-
document.execCommand已废弃,Chrome93+等主流浏览器默认禁用,调用返回false且无提示;根本原因是标准移除,非配置问题,迁移应改用Selection+RangeAPI或现代编辑器如tiptap。
-
contain:layout能隔离子元素布局变化对父容器的影响,避免父级重排;但禁用height:auto等依赖内容的尺寸计算,且不适用于flex/grid容器。
-
Terser是现代JavaScript压缩的默认选择,UglifyJS因不支持可选链、空值合并等新语法且压缩率低而被淘汰;Webpackv5+已内置Terser,无需安装uglifyjs-webpack-plugin,应通过terserOptions自定义配置。
-
必须用语义化标签(如<nav><main><aside>)而非div,因其承载区域意图、支撑无障碍与SEO;布局宜用显式grid而非grid-template-areas防命名冲突;卡片内元素用flex对齐;编辑态应复用节点而非替换DOM。
-
justify-self用于Grid布局中控制子元素在行内轴(横轴)的对齐,如center、start等;align-self在Grid和Flexbox中均有效,控制块轴(纵轴)对齐,如center、flex-start。前者仅适用于Grid,后者通用,优先级高于父容器设置。
-
for循环用于已知次数的重复执行,语法为for(初始化;条件;更新){循环体},如for(leti=1;i<=5;i++)console.log(i)可打印1到5。
-
用computed实现列表搜索过滤的核心是将原始数据和搜索关键词作为响应式依赖,Vue自动追踪变化并重新计算结果;搜索关键词需用ref或data声明为响应式,computed中通过filter返回新数组,建议统一转小写比对,多字段搜索用||连接,防抖须在事件中处理而非computed内。
-
LongTasksAPI仅记录≥50ms的主线程任务,不能直接检测用户感知的卡顿;需结合≥1s耗时、帧率丢失或输入延迟等指标综合判断,且存在Safari不支持、attribution为空、漏报连续短任务等局限。
-
直接给.login-box容器设background-image最稳妥,需同时设置background-size:cover、background-position:center、background-repeat:no-repeat,并加background-color降级;配遮罩层::before提升文字可读性,用min-height:100vh保障响应式高度,高DPR屏需提供@2x图。
-
Canvas本身无响应式绑定机制,性能问题多源于误用:在requestAnimationFrame中频繁读取布局属性、调用getImageData、动态访问canvas尺寸或遍历稀疏数组,引发强制同步布局与全帧内存拷贝。
-
JSON本身不支持Map和Set,因其仅定义六种原生类型;直接序列化会静默返回{}或[],需手动转为数组再重建。
-
函数组合(Compose)是将多个函数按右到左顺序串联执行,前一个输出作为后一个输入,本质为数学复合f(g(x));其核心实现用reduceRight逆序调用函数数组,确保正确执行顺序。
-
theme-color在iOS上完全无效,因Safari明确不支持该标签;iOS状态栏变色实际依赖apple-mobile-web-app-status-bar-style或PWAmanifest中的status_bar配置。
-
隐式列宽不可控是因为默认grid-auto-columns为auto,导致列宽随内容变化;显式设置grid-auto-columns(如1fr、minmax(200px,1fr)或250px)可统一控制所有隐式列宽度,使其可预期、可维护。