-
style-loader必须在css-loader右侧,因Webpackuse数组从右向左执行:css-loader先解析CSS为JS模块,style-loader再注入到head;顺序颠倒会报错。
-
Map和Set通过树形(如TreeMap,O(logn))或哈希(如HashMap,平均O(1))实现,将查找、插入、删除从O(n)优化为稳定高效,适用于动态频繁操作场景。
-
ES2024的/v标志支持Unicode集合运算:&&表示交集(如[\p{ASCII}&&\p{Letter}]匹配ASCII字母),--表示差集(如[\p{Number}--[69]]),仅限静态解析,不支持运行时动态计算。
-
SharedWorker不能直接显示通知或申请权限,但可作为多窗口通知调度中枢,统一处理去重、可见性校验、节流及降级:通过业务ID缓存、permission与visibilityState双校验、客户端注册/注销管理,确保合规前提下轻量可控地推送通知。
-
划线动效应使用::after伪元素配合width动画或transform:scaleX()实现,避免text-decoration;需设position:absolute、display:block、overflow:hidden及transform-origin:leftcenter以确保精准展开。
-
BEM-Lite是精简版BEM,仅强制block__element和block--modifier两段式命名,允许元素不嵌套、禁止修饰符叠加,不校验文件路径或组件目录绑定。
-
原生<dialog>默认不渲染,必须用showModal()或show()激活;仅设open属性可初始显示,但showModal()才启用遮罩、ESC关闭和焦点锁定。
-
localStorage持久存储、跨标签页共享,适合长期非敏感数据;sessionStorage仅限当前标签页、关闭即销毁,适合临时状态。二者均只支持字符串、需手动序列化,不可存敏感信息,且无过期机制。
-
后端收不到字段八成是误用disabled而非readonly;disabled使字段值不提交,readonly则正常提交且支持聚焦复制;select等不支持readonly的元素需用替代方案。
-
在Leaflet中实现一个始终固定于地图视口中心的标记,关键在于正确监听地图移动事件并动态更新标记位置;需注意事件回调参数是LeafletEvent对象,地图实例需通过event.target访问。
-
必须用bdi隔离用户生成内容方向,否则RTL/LTR混排时标点错位、数字倒序、复制失真几乎必然;bdi强制创建BIDI隔离段,无视父容器dir,仅依内部首字符独立运行UBA,而bdo是字符级硬翻转,仅适用于调试或镜像场景。
-
relative定位不改变元素在文档流中的位置,但会为absolute子元素创建新的定位上下文;即使无偏移,设为relative的父元素也会成为子元素定位参照物;子元素的top、left等属性将相对于该父元素计算,而非继续向上查找;若无定位祖先,则默认相对于视口定位;relative元素仍占据原空间,布局不受影响;常用于弹窗、下拉菜单、卡片按钮、轮播图箭头等需要局部精确定位的场景;其核心作用是静默建立坐标系,实现子元素自由定位且不破坏整体布局。
-
JavaScript操作HTML元素的核心是先用querySelector等方法获取元素,再通过textContent、style、classList等属性或addEventListener等方法修改内容、样式、属性及绑定事件。
-
flat(Infinity)对嵌套评论“不起作用”是因为它只扁平化数组的数组,无法自动提取对象中的replies等字段;仅当数据已是多层嵌套数组形式时才有效,标准树形结构应使用递归flatMap。
-
浏览器静默跳过<source>的最常见原因是media属性写法错误,必须是完整合法的CSS媒体查询,括号不能省、关键字不能漏;其次type值错误、服务器Content-Type不匹配、<source>顺序不当或图片文件损坏也会导致fallback。