-
MessageChannel不能直接用于两个独立iframe间通信,因其端口需显式传递且iframe无天然引用关系;同源下应由父页面创建并分发端口实现高频低延迟点对点通信。
-
lang属性必须精准标注各语言片段,根标签设置不能替代局部声明;需严格遵循BCP47标准,错误值导致语音、翻译、字体、CSS等多方面失效。
-
FID必须用PerformanceObserver异步监听,因其唯一暴露浏览器调度层首次输入延迟;TTI则需结合主线程空闲观察与交互验证,异步逻辑易破坏连续5秒无长任务条件。
-
BEM通过命名约束避免样式冲突和维护灾难:Block(如card)为独立单元,Element(如card__title)须依附Block,Modifier(如card--featured)表状态且不单独使用。
-
模块模式通过闭包实现子应用JS作用域隔离,需配合沙箱、DOM/CSS隔离及规范卸载机制才能有效防止微前端全局污染。
-
HTML5中插入版权符号©等特殊字符有四种方法:一、用HTML实体编码(如©);二、直接键盘输入Unicode字符(需声明UTF-8);三、用JavaScript动态插入;四、用CSS的content属性注入(仅装饰性用途)。
-
最常用的是<div>、<p>、<h1>–<h6>、<img>和,覆盖80%以上页面需求;<div>因无默认样式、高嵌套性与布局兼容性成最安全容器,但不可替代语义标签。
-
PerformanceAPI可精准采集FP、FCP、LCP、FID、TTFB等核心性能指标,通过performance.timing、getEntries()及PerformanceObserver获取页面加载与交互数据,结合mark打点和measure测量自定义逻辑耗时,利用sendBeacon上报关键数据,实现轻量高效的前端性能监控。
-
findLast是ES2023新增的数组方法,从后往前遍历并返回首个满足条件的元素;Chrome108+、Firefox107+、Safari16.4+及Node.js18.12+支持,旧版本需polyfill。
-
HTML页面异常恢复需提前设计降级路径:白屏先查协议与报错;JS卡死用分片、防抖、WebWorker;资源加载失败加onerrorfallback;表单提交失败用localStorage缓存输入。
-
使用CSS的backdrop-filter属性可实现毛玻璃效果,需配合半透明背景和-webkit-backdrop-filter兼容Safari;filter:blur()则用于模糊元素自身背景图,常通过伪元素实现;注意backdrop-filter在旧版浏览器中支持有限。
-
伪元素在:hover时能覆盖父元素背景,关键在于父元素需设position:relative以提供定位上下文,伪元素须设content、position:absolute及足够z-index,且避免父级隐式创建层叠上下文。
-
答案:通过transition和transform结合实现平滑动画。1.transform用于元素移动、旋转、缩放,transition控制变化过程;2.示例中按钮悬停时translateX位移并scale放大,配合0.3s过渡;3.进阶用法如card悬停时translateY上移并rotate旋转,使用cubic-bezier增强动效;4.建议控制过渡时间在0.2s–0.5s,优先对transform和opacity做动画以提升性能,避免布局重排,可配合will-change优化渲染。
-
Object.getOwnPropertyDescriptors可完整获取对象自有属性描述符,实现保留getter/setter的精准克隆;普通方法如Object.assign、展开运算符和JSON序列化均无法复制访问器函数本身。
-
JSON序列化Date对象具有单向性:stringify转为ISO字符串后,parse无法自动还原为Date实例,仅得普通字符串,需手动用newDate()恢复。