前端技术文章
-
HTML本身不处理请求竞态,需用JavaScript配合AbortController中断旧请求或用requestID过滤过期响应,防抖仅减少请求数量,不能替代竞态控制。181 收藏 -
使用CSS的:hover伪类可触发动画效果,通过transition实现颜色、大小等属性的平滑过渡,或结合@keyframes定义复杂动画如旋转。示例中按钮悬停时变色放大,旋转元素仅在悬停时执行动画。需注意避免过度动画影响体验,优化性能并兼顾移动端兼容性,合理运用可提升界面交互性与视觉效果。332 收藏 -
必须用CustomEvent构造函数传参,其detail字段携带任意数据,需手动dispatchEvent触发;newEvent无detail属性,无法传参;框架中应优先使用$emit或props回调,原生事件仅适用于WebComponent等特定场景。289 收藏 -
JavaScript数组索引本质是字符串属性名,如arr[0]等价于arr['0'];length仅由最大数字索引决定,非数字属性不影响长度;for...in会遍历所有可枚举属性(含非索引属性),故不适用于数组元素遍历。237 收藏 -
WebLocksAPI不能协调多个ServiceWorker实例间的锁,因同源下浏览器只允许一个ServiceWorker处于active状态;其生命周期为install→waiting→active,新旧版本不共存执行,所谓“多个实例”实为版本切换而非并发。435 收藏 -
必须加-webkit-前缀才能生效,因Safari、旧Chrome及iOS/macOS系统仅支持-webkit-background-clip:text和-webkit-text-fill-color:transparent,且Firefox110+才开始支持标准属性。339 收藏 -
JavaScript不支持传统函数重载,但可通过参数数量、类型或结构手动模拟:先判数量,再用typeof、Array.isArray()、instanceof等精准识别类型,推荐封装工具函数并采用配置对象模式提升可维护性。142 收藏 -
通过JavaScript动态将scrollTop设置为scrollHeight,结合CSS的flex-direction:column布局,可确保消息容器在内容更新后自动滚动到底部,实现类Chat应用的流畅体验。
257
收藏
本文介绍使用JavaScript的flatMap()方法,将满足条件(如flex数组中含'LB')的单个数据对象按比例拆分为两个新对象(分别对应'L'和'B'),并确保最终结果为扁平化数组。
489
收藏
可选链操作符(?.)是防止“Cannotreadproperty”错误的核心机制,用于安全访问可能为null/undefined的嵌套属性、方法或索引,但不可用于赋值或独立表达式,需配合??而非||做兜底。
242
收藏
当left和right同设为0时元素不拉伸,是因为absolute/fixed元素width默认由内容决定,未设width且父容器无明确宽度时浏览器无法计算唯一宽度值,故忽略right约束。
293
收藏
ToPrimitive转换路径由hint驱动:先返回原始值则终止;否则优先调用Symbol.toPrimitive;若无或返回非原始值,则按hint顺序尝试valueOf/toString(Date的"default"例外走字符串路径)。
443
收藏
直接用FormData配合submit事件可实现无刷新提交:先preventDefault阻止跳转,再newFormData(form)自动收集字段,最后fetch发送并处理响应,全程不依赖框架。
295
收藏
JavaScript类型转换分三种:转字符串(如String(123)→"123")、转数字(如Number("123")→123)、转布尔值(如Boolean(0)→false);隐式转换发生在运算中,如"6"-2→4,[]+{}→"[objectObject]";核心原则是拼接转字符串、数学运算转数字、条件判断看真假值。
108
收藏
IntersectionObserver回调异步低优先级,需结合rootMargin预加载、threshold数组分阶段加载、requestIdleCallback抑制高负载、滚动去抖与动态调整策略实现性能感知的懒加载。
138
收藏