-
marquee标签已被HTML5废弃,现代浏览器虽部分支持但不推荐使用;应改用CSS动画实现,需注意white-space、位移范围及动态时长计算。
-
Promise是ES6引入的异步编程标准对象,用于解决回调地狱、错误处理分散及缺乏统一控制等问题;它表示异步操作的三种状态(pending/fulfilled/rejected),通过newPromise()创建,支持.then()/.catch()链式调用与Promise.all/race/finally等组合方法。
-
rotateY翻页动画歪转是因默认变换原点在元素中心,需设transform-origin:leftcenter或050%锚定边缘;左右页需独立旋转并配preserve-3d;卡顿需will-change、requestAnimationFrame及backface-visibility优化;移动端拖拽应分段映射角度并禁用默认滚动。
-
textarea+input实时校验更可靠,因HTML表单pattern仅提交时触发原生提示,而实时监听input事件可即时反馈;需截断长文本、禁用默认提示、动态构造正则时正确转义特殊字符,并避免回溯爆炸。
-
页脚贴不住底部的最优解是用flex布局配合margin-top:auto。将html和body设为height:100%,body设为display:flex、flex-direction:column,main设flex:1,footer设margin-top:auto即可。
-
用双层Map实现命名空间隔离的EventBus,第一层以namespace为key,第二层以eventtype为key存储回调数组;addListener、emit、off均需传入namespace参数确保隔离性。
-
JavaScript动态改样式有三条路径:直接修改元素style对象适用于临时单次内联控制;切换className适合复用、可维护及响应式场景;操作CSSStyleSheet规则适合运行时生成主题或全局变量注入。
-
Next.js通过getServerSideProps在服务端动态获取数据并渲染HTML,实现SSR,提升首屏性能与SEO;它非React替代品,而是增强层,自动处理路由、数据获取等,区别于CSR的空HTML+JS渲染。
-
CLS是唯一官方布局稳定性指标,需用PerformanceObserver监听layout-shift并设buffered:true;通过entry.sources或affectedElements定位异常元素,聚合上报时过滤hadRecentInput为true的条目,累加value值判断是否超0.1阈值。
-
懒加载核心是按需触发资源加载,推荐用IntersectionObserver替代scroll监听,配合loading="lazy"实现渐进增强,组件懒加载需结合代码分割与视口观察,且必须处理失败fallback。
-
首先通过监听touchstart、touchmove、touchend事件实现手势识别,具体包括滑动、长按、双击和缩放等操作。记录触摸坐标并计算位移与时间差,结合阈值判断手势类型。例如滑动手势需比较起始与结束位置的偏移量,长按通过定时器检测持续触摸,双击判断两次点击间隔与距离,缩放则依据两指间距离变化。示例代码展示了左右滑动检测逻辑:在touchstart记录起点,touchend时计算水平位移,若水平差大于30且垂直差小于50,根据方向输出swipeleft或swiperight。注意事项包括设置pas
-
路由守卫不直接判断超时,需结合时间状态管理和守卫拦截:1.全局监听交互事件刷新localStorage中lastActive时间戳;2.checkSessionTimeout()函数计算并返回超时布尔值;3.router.beforeEach中调用该函数,超时则清token并跳转登录页;另配定时器每60秒兜底检测。
-
transition-delay不继承,必须逐级显式设置;需用后代选择器配合CSS变量统一管理,并结合opacity/visibility实现平滑过渡,避免display切换中断动画。
-
auto在grid中等价于min-content而非弹性值;实现自适应列宽应使用minmax(min-content,1fr),而非minmax(auto,1fr)或单独auto。
-
闭包不能实现动态上下文自愈或跨环境执行,仅作为轻量封装工具参与;它可封装环境检测结果、绑定上下文快照、隔离校验逻辑,支撑可观测性驱动的决策层。