-
grid自动排列留空是因为跨越轨道的项不触发回填,后续项按源顺序和当前行剩余空间推进;启用rowdense或columndense可密集填充空位,但会破坏DOM与视觉顺序一致性。
-
CoreWebVitals由浏览器根据真实用户行为计算,HTML仅是影响因素之一;<linkrel="preload">可加速LCP关键资源加载,width/height和decoding="async"有助于防控CLS,而过度内联CSS反可能延迟FCP。
-
includes比多个||更可靠,因其严格相等、支持NaN、逻辑集中;改写为constvalidColors=['red','blue','green'];if(validColors.includes(x)){...};注意字符串和类数组需分别处理,大数组高频查询建议用Set。
-
推荐用display:flex实现横向列表,只需在ul上设置display:flex即可自动横向排列,支持响应式、等距对齐;float方案需手动清浮动且兼容性差,仅适用于IE8/9等老旧环境。
-
JavaScript的Date.prototype.getMonth方法返回的是0到11的月份值,需加1才能得到实际月份。1.getMonth()返回0-indexed值,1月为0,12月为11;2.获取当前或指定日期的月份时需注意时区问题;3.使用数组映射或Intl.DateTimeFormat将数值转为可读月份名;4.getMonth()基于本地时区,getUTCMonth()基于UTC时间,根据业务需求选择使用。
-
justify-content在Grid容器中不起作用,是因为容器未设置display:grid(或inline-grid);它控制整个网格在行内轴上的对齐,而justify-items控制单元格内容对齐,二者作用域不同。
-
WebLocksAPI通过命名锁协调异步操作,确保共享资源访问的串行化。使用navigator.locks.request('lockName',callback)申请锁,回调执行完毕后自动释放。多个请求按顺序排队,前一个释放后下一个获得锁,避免竞态。适用于localStorage或IndexedDB等场景,如计数器递增时保证顺序执行。合理设计锁粒度,避免过粗阻塞或过细难维护,不同资源用不同锁名。不建议在锁内请求其他锁以防死锁,可结合AbortSignal实现超时控制。API轻量但需注意持有时间与嵌套逻辑
-
Edge18及更早版本不支持IntersectionObserver,需运行时检测并降级;ChromiumEdge79–83对ResizeObserver支持不全;Edge18的fetch不支持credentials和AbortController;CSSGrid/subgrid存在显著版本断层;应坚持运行时检测+最小降级。
-
CSS自定义属性通过--定义变量,配合var()函数实现值复用,提升样式维护性。示例::root{--primary-color:#007bff;},.button{background-color:var(--primary-color);},支持默认值、作用域与JavaScript动态修改,适用于主题切换与响应式设计,现代浏览器广泛支持。
-
Autoprefixer结合Gulp可自动为CSS添加浏览器前缀,提升兼容性与开发效率。通过npm安装gulp、postcss、autoprefixer后,在gulpfile.js中配置css任务调用autoprefixer插件,并使用overrideBrowserslist或.browserslistrc文件指定目标浏览器范围,如>1%、last2versions;watch任务监听src/css/目录下的CSS文件变化,自动重新编译并输出到dist/css目录。推荐使用.browserslist
-
Less中.clearfix等Mixin不生效,因Less仅做语法转换而不解析CSS语义,厂商前缀需显式调用Mixin或集成Autoprefixer;手写flex()需分IE10旧语法(-ms-flexbox)与现代标准,且属性须配对;Autoprefixer须在Less编译后通过构建工具接入。
-
JavaScript的search()方法仅返回首个匹配项索引,不支持全局搜索、不返回匹配内容或捕获组、忽略g标志但尊重i/m标志、且无法指定起始位置。
-
align-self在多列文字中不起作用,通常因父容器未设为flex容器或子元素非直接子节点;需确保display:flex、检查computedstyles、区分align-items与align-self作用范围,并注意IE11兼容性问题。
-
DllPlugin通过预编译第三方依赖为DLL并配合DllReferencePlugin引用,跳过重复构建流程以提升速度;需分步配置DLL构建与主构建引用,注意版本更新同步、Git忽略DLL文件及HMR限制。
-
用一个 10 万条数据的列表场景讲清楚前端虚拟列表的核心思路:不一次性渲染全部 DOM,而是根据 scrollTop 计算可视窗口,只保留屏幕附近的行。