-
transition-timing-function控制动画速度变化,常用关键词如ease、linear、ease-in、ease-out、ease-in-out实现不同节奏,cubic-bezier()可自定义贝塞尔曲线实现弹性或过冲效果,结合场景选择合适曲线可提升动画流畅度与用户体验。
-
使用transform和animation可实现高性能平滑平移动画。1.translate()位移不触发重排,优于left/margin;2.@keyframes定义动画关键帧,支持from/to或百分比;3.animation属性绑定动画,设置时长、缓动、循环等;4.示例中alternate实现往返移动。推荐用于按钮、加载、轮播等场景。
-
HTML5音视频无法播放需检查五方面:一、运行环境(禁用file://协议,改用HTTP服务器或Firefox);二、路径正确性(同目录、正斜杠、大小写匹配);三、格式兼容性(MP4/H.264/AAC适配Chrome,多source备用);四、标签属性(必加controls,preload="auto",静音自动播放需muted+autoplay);五、开发者工具排查(Network查404/0状态码,Console查ERR_FILE_NOT_FOUND等错误)。
-
WebSocket是一种基于TCP的全双工通信协议,通过HTTP升级建立持久连接,实现客户端与服务器间的实时双向数据传输,适用于在线聊天、游戏等高频交互场景。其特点包括低开销、事件驱动机制,使用ws://或加密wss://协议,需注意连接管理、心跳检测及消息格式约定,配合Node.js、Java或Go等后端技术构建高效实时应用。
-
父容器高度塌陷时应设position:relative激活定位上下文,使absolute子元素相对于它定位;父容器需有明确尺寸或由其他非absolute内容撑开,不可依赖absolute元素反向撑高。
-
inline元素设置width和height无效是因为CSS规范规定其盒模型属性对布局无影响,浏览器会忽略它们;应改用inline-block、block、flex或grid等显示类型。
-
::after伪元素清除浮动的本质是让父容器重新建立包含块并感知浮动子元素:通过插入display:table/block且clear:both的匿名元素撑开高度,现代推荐flow-root替代。
-
JavaScript由引擎先编译再执行,解析即生成AST并完成作用域绑定与优化;V8采用Ignition字节码+TurboFan优化,类型突变触发去优化;闭包、this绑定等均在解析期固化。
-
正确写法是grid-template-columns:repeat(auto-fit,minmax(250px,1fr))),配合img{width:100%;height:auto;},确保图片等比缩放不拉伸、不溢出,auto-fit自动填满且不留空列。
-
border-color用于设置边框颜色,需先定义border-style;border-radius实现圆角效果,两者可同时使用。示例中通过border-color指定四色边框,border-radius设为15px实现圆角,结合使用可创建美观的彩色圆角方块,若只需单色可简写为border:3pxsolid#000配合border-radius:10px。
-
trycatch仅捕获同步运行时错误(如ReferenceError、TypeError),无法捕获异步错误;async/await中必须await后置于try内才能捕获Promise拒绝;推荐用instanceof判断错误类型;finally中return会覆盖try/catch的返回值。
-
答案是利用HTML5拖放API实现拖拽排序,通过设置draggable属性和监听dragstart、dragover、drop事件控制元素移动,结合CSS提升交互反馈。
-
memoize是一种手动实现的缓存策略,用Map存储输入与输出,提升纯函数(尤其递归)性能;手写需支持可序列化参数、保持this上下文,JSON.stringify有局限,Map可避免键冲突。
-
JavaScript执行上下文是代码运行的环境容器,分全局、函数、eval三类,生命周期含创建(变量提升/TDZ)和执行两阶段,通过词法环境与变量环境管理变量,并依托执行栈实现上下文切换。
-
应通过CSS布局(Flex/Grid)、伪元素替代装饰标签、框架Fragment/模板语法优化及抽取子组件来减少非必要嵌套;语义与规范要求的嵌套(如表单、链接、表格)必须保留。