-
absolute定位不能直接覆盖目标元素,因它默认相对于最近已定位祖先定位;若父容器未设position:relative,坐标原点会错位到body或html,导致偏移异常。
-
答案:设计一个轻量级JavaScript状态管理库,通过单一状态树、不可变更新和响应式机制实现集中管理与跨组件通信。1.构建Store类封装状态、监听器及notify通知;2.引入reducer函数与dispatch模式规范状态变更;3.使用subscribe订阅实现视图自动更新;4.以计数器为例展示state变化驱动UI更新的流程;5.核心保持简洁,支持后续扩展中间件与模块化。
-
RGBA透明度是线性混合而非空间纵深模拟,应改用HSLA调控色相/饱和度模拟空气透视,并辅以backdrop-filter和box-shadow增强层次感。
-
点击切换灰度效果需JS控制状态:监听click事件,用dataset记录当前灰度状态并直接设置style.filter,配合transition实现平滑动画,注意兼容Safari前缀、避免内联样式覆盖及图片加载完成后再绑定事件。
-
闭包是JavaScript中函数记住并访问其定义时词法作用域中自由变量的运行时现象;它由内部函数、对外层局部变量的引用及外层函数返回后内部函数仍被调用三要素构成,本质是引擎延长外层词法环境生命周期以维持变量引用。
-
固定导航条导致内容被遮挡,应通过padding-top为内容区预留高度;响应式可用CSS变量联动;慎用margin-top;滚动条宽度变化可用scrollbar-gutter或强制显示解决;需确保导航条定位、尺寸设置正确。
-
Redux通过单一不可变状态树集中管理应用状态,确保数据一致性与可预测性;状态更新需通过派发action触发,经由纯函数reducer处理并返回新状态,从而实现可追踪、可调试的状态变更流程。
-
Date对象无内置格式化方法;toISOString()恒返UTC时间;toLocaleString()需精确配置locale与options;getMonth()返回0–11需+1;手动格式化须区分本地/UTC时区。
-
最简表格结构为<table><tr><td></td></tr></table>,必须包含table、tr、td三层标签,缺一不可;th用于表头,td用于数据;需用CSS设置border和border-collapse:collapse来控制边框。
-
模板字符串用${}插变量,是JS原生语法;支持简单表达式但禁复杂逻辑;列表渲染用map+join;可调纯函数但禁异步或DOM操作;innerHTML失效多因非法HTML或空白符;需手动转义防XSS。
-
原生<details>和<summary>可实现无JS/CSS框架的折叠面板,<summary>必为<details>首子元素且需闭合标签;open属性设默认展开;支持键盘与屏幕阅读器,但动画需:has()或JS控制类名配合max-height/opacity实现。
-
表单拆分需以集中状态管理(如formData对象)为核心,统一通过updateField更新、localStorage持久化(配合beforeunload)、跨步骤校验,并用FormData手动聚合多表单数据,禁用formdata事件依赖。
-
web-vitals是JavaScript库,非HTML标签或属性,需通过脚本调用onLCP/onCLS/onINP等函数采集指标;仅引入script不调用函数将无法获取数据,且须注意执行时机、buffered配置及手动上报逻辑。
-
HTML空元素共14个,是W3CHTML5标准明确定义的无内容、无闭合标签元素:area、base、br、col、embed、hr、img、input、link、meta、param、source、track、wbr。
-
流式SSR的核心难点在于保障hydration稳定、避免数据重复请求、确保错误边界有效。React18的renderToPipeableStream是唯一可靠方案,需搭配hydrateRoot、组件级数据预取、精准脚本注入与分层ErrorBoundary。