-
Date对象处理时区和国际化存在四大坑:1.不带时区的字符串解析为UTC,导致本地时间偏差;2.toLocaleString输出依赖系统环境,需显式指定locale;3.夏令时切换引发时间计算错误,建议用UTC运算;4.本地时间存储致跨时区混乱,应统一存UTC时间戳并按需格式化。复杂场景推荐使用luxon、dayjs插件或Temporal。
-
Group-hover为什么必须配合group类使用直接写group-hover:xxx没效果,是因为Tailwind的group-hover是一个“依赖类”——它只在父元素有group类时才生效。没有group,group-hover根本不会被编译进CSS。错误写法:文字→完全无效正确结构:文字group必须加在触发hover的祖先容器上(不一定是直接父级,但必须是DOM上层)子元素hover状态下修改父级以外的兄弟元素常见需求:鼠标悬停在
-
“影子属性”指在派生对象上设置与原型同名的自有属性以遮蔽原型属性,读取优先实例值、删除后回退原型值;Object.create()构建原型链,赋值操作自然实现该行为。
-
用@mixin统一控制菜单项状态最可靠,通过变量定义过渡、混合宏封装hover/focus/active样式,并用@if处理focus-visible;&嵌套确保选择器精准,响应式@media宜嵌套在模块内,可访问性需结构与JS协同。
-
使用媒体查询可根据设备特性应用不同样式,实现响应式设计。基本语法为@media媒体类型and(媒体特性){样式规则},常用媒体类型包括screen(屏幕设备),常用于适配不同屏幕宽度、高度等,确保页面在各类设备上良好显示。
-
内联缓存是JavaScript引擎优化属性访问的技术,通过记录对象属性的查找路径或偏移量,后续访问时直接复用缓存结果。首次访问执行完整查找并存储对象形状(隐藏类)和偏移;若对象结构一致,则进入单态缓存,实现快速访问;多个不同隐藏类则进入多态缓存,维护小型缓存表匹配类型;缓存过多退化为超多态,性能下降。V8引擎结合隐藏类机制,在JIT编译的热点代码中嵌入缓存检查逻辑,匹配则按偏移读取,否则重新查找。开发者应保持对象结构稳定,避免动态增删属性,推荐在构造函数中初始化所有属性,确保关键路径对象具有一致布局,以提
-
CSS成就解锁动画需用JS控制类名切换,初始设opacity:0/transform:scale(0.8)/visibility:hidden,解锁时添加unlocked类触发animation:unlock0.6sforwards并设visibility:visible。
-
观察者模式与发布订阅模式本质不同:前者是对象间紧耦合的同步通知,后者通过事件总线实现松耦合异步通信;适用场景分别为模块内实时响应和分布式系统跨服务通信。
-
迭代器通过next()方法返回value和done属性,实现有序遍历;2.生成器函数用function*定义,通过yield暂停执行,简化迭代器创建;3.异步迭代支持forawait...of处理异步数据流,结合Promise实现延迟加载与资源控制。
-
前端分页通过JavaScript控制数据展示,适合小数据量;插件如Pagination.js可快速实现分页;后端分页由服务器返回指定数据,适用于大数据;CSS分页用于打印控制。
-
点击劫持是一种UI层视觉欺骗攻击,攻击者用透明iframe叠在目标页面上,诱使用户点击伪装按钮,实则触发已登录状态下的敏感操作;防范核心是阻止页面被嵌入,推荐配置CSP的frame-ancestors指令而非过时的X-Frame-Options。
-
HTML5中插入版权符号©等特殊字符有四种方法:一、用HTML实体编码(如©);二、直接键盘输入Unicode字符(需声明UTF-8);三、用JavaScript动态插入;四、用CSS的content属性注入(仅装饰性用途)。
-
优先用getElementById和querySelector;避免getElementsByClassName实时集合开销;批量操作用DocumentFragment;事件委托优于遍历绑定;缓存布局信息或用IntersectionObserver。
-
TrustedTypes是需从CSP响应头开始、贯穿策略定义与DOM调用链的强制校验机制;必须配置require-trusted-types-for'script',策略名须在CSP中显式声明,所有高危DOM操作须使用TrustedHTML等实例,禁用eval/document.write,第三方库需兼容或代理封装,策略须静态定义、禁止运行时判断。
-
WeakRef仅适用于JS对象的弱引用,避免阻止GC回收;不能用于离线资源缓存,因其不支持持久化、无TTL、不触发清理、无法跨页面/ServiceWorker存活,也不兼容CacheAPI或IndexedDB。