-
闭包不能防篡改,仅隔离访问路径;必须深拷贝+类型白名单校验,否则get/set成后门;Object.freeze仅浅冻结,无效于嵌套修改;IIFE封装+显式reset可避免状态残留。296 收藏 -
matchMedia是浏览器原生API,用于监听媒体查询变化,支持响应视口尺寸、暗色模式、减少动画等环境变化,需注意实例复用、事件清理及SSR兼容。362 收藏 -
HTML无法通过USB2.0接口调试,因其属标记语言运行于浏览器,而USB2.0是物理层协议,二者抽象层级不同;所谓“USB调试HTML”实为混淆前端代码、运行环境与硬件工具边界。182 收藏 -
lang属性必须写在<html>标签上,如<htmllang="zh-CN">,写在其他标签无效;多语言内容需用lang单独标注子元素;动态页面须在SSR或HTML源头设置,不可JS后期修改。432 收藏 -
Object.assign是JavaScript中用于浅拷贝和对象合并的内置方法,按顺序将多个源对象的可枚举自有属性复制到目标对象并返回该对象;它不递归处理嵌套对象,同名属性后写入者覆盖前者,仅复制可枚举自有属性,不处理原型、getter/setter或不可枚举属性。141 收藏 -
event.detail不可靠地支持三击及以上连击,仅适用于桌面鼠标单/双击场景;应手动实现时间窗口计数器以确保跨平台一致性与可控性。454 收藏 -
discarded状态无法被监听,因其发生时JS引擎已终止;还原依赖freeze/pagehide保存状态+pageshow时结合document.wasDiscarded、persisted和navigationtype综合判断冷启动并恢复。286 收藏 -
transition-delay不生效通常因CSS覆盖、状态未变化或写法错误;须在初始状态定义完整transition,避免仅在hover中设置delay,且确保属性可过渡、值发生改变。499 收藏 -
要实现导航栏初始透明、滚动后变色,应使用rgba()控制background-color透明度而非opacity;通过监听scroll事件并用requestAnimationFrame节流切换CSS类(如nav-transparent/nav-scrolled),配合transition实现平滑过渡;注意文字对比度、移动端fixed适配及首屏视觉锚点。144 收藏 -
本文详解在Flexbox布局中,如何确保嵌套的.parent和.item元素正确继承并占满.root的最小高度(如min-height:350px),重点解决因display层级缺失导致flex-grow失效的问题。399 收藏 -
直接写CSS易致样式不一致,因命名、重置、单位等无统一规范;CSS框架通过集中定义变量与约束消费实现一致性,Tailwind适合精细控制,Bootstrap适合快速原型,自建原子类适配现有SCSS架构;老页面应双轨并行、渐进替换,并注意作用域、构建配置及团队协作规范。271 收藏 -
JavaScript展开运算符(...)用于将可迭代对象或对象展开为独立元素或属性,支持数组合并与浅拷贝、函数传参、对象合并与解构、类数组转换等,但仅浅层展开且不支持null/undefined。112 收藏 -
直接写死颜色和尺寸导致Loading动画难维护,因主题切换或尺寸调整需多处同步修改且无法响应深色模式;应使用CSS变量配合外部控制动画属性,避免在@keyframes中直接引用变量或错误使用calc()。239 收藏 -
<picture>必须包含末尾的<img>且带src属性,否则图片不显示;浏览器按顺序匹配<source>的type和media,最后回退到<img>的src作为fallback。464 收藏 -
del标签语义上表示内容已被删除,浏览器默认渲染为删除线;它强调“曾存在但已移除”,需配合datetime属性增强可追溯性,不可与仅表过时的s标签混用。155 收藏