-
应使用min-height:100dvh+max-height:100dvh+overflow-y:auto替代height:100vh,配合flex-shrink:0和visualViewport.resize监听,在不支持dvh时降级并用JS动态更新高度。
-
侧边索引需用JS扫描h2-h4标题并清洗ID(去标点、去重、去空)、用scrollIntoView精准滚动、DocumentFragment离屏构建DOM、事件委托绑定,避免卡顿与定位失败。
-
Canvas滤镜本质是手动读、算、写像素,核心依赖getImageData和putImageData;失效主因是执行时机错误(如img.onload绑定顺序)、跨域限制、canvas宽高未设为图片实际尺寸,或遍历步长/索引/边界处理不当。
-
解构赋值可通过嵌套结构、默认值、动态键名、函数参数解构、别名及剩余运算符等高级技巧提升代码可读性与开发效率,适用于处理复杂数据结构、配置项和API响应。
-
index.html无法直接连接数据库,必须通过后端服务中转;前端用fetch调用API,后端连接数据库并返回JSON;切勿硬编码数据库凭证,需处理CORS和安全防护。
-
@import在ShadowDOM中不推荐,因其同步阻塞渲染导致300–600ms延迟,SSR不生效、HMR后样式丢失、路径解析易404、构建工具无法处理、错误静默忽略;fetch需防重复注入与竞态,adoptedStyleSheets是现代首选但Safari17.4+才稳定支持。
-
局部同构更新不能实现“不重刷页面却更新SEO”,SEO内容必须由服务端直出并存在于初始HTML中;局部刷新仅能安全更新与服务端输出严格匹配的子树,不得破坏已有SEO结构。
-
inputtype="email"触发浏览器原生格式校验(如必须含@和域名),但不查域名有效性,仅作前端提示;需配合required、placeholder、multiple等属性,并始终在服务端用RFC兼容规则二次校验并trim。
-
getDay()方法返回0-6的星期数字,需数组或Intl对象转换为中文。1.getDay()返回本地时间星期几,0为周日;2.可用数组映射转换为“星期一”等字符串;3.也可用Intl.DateTimeFormat自动处理国际化格式;4.getDay()与getDate()不同,前者获取周几,后者获取月内日期;5.注意周日为0可能与ISO标准不一致,需手动调整;6.Date对象若未指定时区,getDay()结果受运行环境影响。
-
JavaScript操作JSON仅用JSON.stringify()和JSON.parse();前者用于序列化纯数据结构(需避函数/Date/undefined/循环引用),后者解析前须确认输入为合法双引号JSON字符串,且推荐用Response.json()替代手动解析。
-
多级排序需将比较逻辑压缩进二元函数:先比主字段,相等再比次字段,依此类推;返回负数、正数或0决定顺序;须防空值与类型陷阱,用短路运算(如||、?:)串联层级。
-
根本原因是CSS层叠规则生效,scoped仅通过属性选择器隔离组件内样式,无法阻止第三方全局CSS覆盖;第三方样式权重更高、加载更晚或重置基础标签导致覆盖。
-
最可靠方案是用JavaScript遍历tr和td,结合textContent与includes()模糊匹配,需控制行数在2000以内;超量时应改用数据驱动模式。
-
可通过PerformanceAPI捕获首帧与LCP时机,结合交互延迟监测(>100ms)和超时兜底(FCP>1800ms/LCP>2500ms/2.5s无LCP),主动降级非关键资源、调整预加载策略并内联关键内容,全程可监控可回滚。
-
HTML注释无法阻止JavaScript执行或CSS应用,因其仅影响HTML解析器;应改用type="text/plain"屏蔽脚本、disabled属性禁用样式,或display:none隐藏HTML结构。