-
JavaScript动画核心是requestAnimationFrame实现60fps平滑更新,优先改transform/opacity触发GPU加速,封装play/pause/seek方法控制状态,配合anime.js等轻量库按需使用。
-
Canvas绘图完全依赖JavaScript控制,需先获取2d或webgl上下文并确认可用性,再通过ctx方法绘制图形、实现动画和响应交互。
-
line-height是CSS属性,非HTML5原生属性;其推荐值为无单位数字(如1.5),可继承且不二次缩放;length(如20px)和percentage(如150%)易导致嵌套异常或视觉拥挤。
-
使用CSSModule可解决大型前端项目中CSS类名冲突问题。首先在webpack.config.js中启用modules配置并设置localIdentName;接着将样式文件重命名为*.module.css格式,并通过import导入生成局部类名映射;然后在TypeScript项目中创建.d.ts声明文件以支持CSS模块类型;最后结合sass-loader配置处理.module.scss文件,实现Sass特性与模块化共存,确保样式的隔离性与可维护性。
-
Promise是JavaScript处理异步操作的标准对象,代表未来完成或失败的操作,具有pending、fulfilled、rejected三种不可逆状态,支持链式调用与错误传递,并提供Promise.all()、race()、allSettled()等静态方法协调多个异步任务。
-
组合式API通过自定义Hook实现逻辑复用,如useWindowSize管理窗口尺寸、useValidation处理表单校验,并结合provide/inject共享状态,提升代码内聚性与可维护性。
-
浮动元素脱离文档流致后续块级元素绕行错位,clear:both通过强制元素边框框不与浮动元素重叠来解决,但现代推荐用display:flow-root或Flex/Grid布局替代。
-
React与Vue的选择取决于项目需求而非优劣:React以生态自由度见长但需自主选型,Vue以模板响应式确定性提升开发效率,团队规模、基建能力及具体约束(如IE支持、SSR)共同决定技术选型。
-
在HTML5中实现文字首行缩进需用CSS的text-indent属性,支持固定像素、em相对单位、rem根单位、负值悬挂缩进及多语言(RTL/垂直)适配五种方式。
-
HTML5的标签原生支持三种主要视频格式:MP4、WebM和Ogg。选择合适的格式能确保视频在不同浏览器中顺利播放。MP4(H.264+AAC)——兼容性最强MP4是目前兼容性最好的格式,几乎所有现代浏览器都支持它。但要注意,并非所有MP4文件都能播放,必须使用特定编码:视频编码:H.264(也称AVC)音频编码:AACMIME类型:video/mp4苹果Safari、微软Edge和InternetExplorer都只支持这种组合。因此,提供一
-
ChromeDevToolsPerformance面板抓问题需录制3–5秒复现卡顿的操作,重点关注红色长条(JS执行过久)、频繁紫/绿色块(强制同步布局)、大量灰色ScriptEvaluation(未节流回调);内存泄漏用Heapsnapshot对比DetachedDOM树增长;requestIdleCallback适用于可中断低优先级任务,WebWorker用于CPU密集型纯计算。
-
scope属性在HTML表格中的核心作用是提升可访问性,通过明确表头单元格与数据单元格之间的关联,帮助屏幕阅读器用户理解表格结构。1.scope="col"表示该表头是所在列的标题;2.scope="row"表示该表头是所在行的标题;3.它为屏幕阅读器建立虚拟表格模型,使其能准确读出数据单元格对应的行列信息;4.在复杂表格中可使用headers与id组合或aria-labelledby等替代方案;5.其他最佳实践包括使用<caption>、正确划分<
-
justify-items用于Grid布局中控制项目在行内轴(水平)的对齐,align-items在Grid和Flexbox中均适用,控制块轴(垂直)对齐,Flexbox中主轴对齐由justify-content实现,默认值均为stretch。
-
JavaScript手势识别通过监听触摸事件实现滑动、长按、双击等交互,常用原生事件或Hammer.js等库处理,需注意阈值设置、事件销毁与preventDefault的合理使用,以提升移动端用户体验。
-
Hoisting是指变量和函数声明被提升到作用域顶部:var声明提升并初始化为undefined,let/const声明提升但处于暂时性死区,函数声明完全提升而函数表达式不提升。