-
文字效果可通过CSS实现,text-shadow添加阴影,-webkit-text-stroke实现描边,background-clip结合渐变背景制作渐变文字,三者可叠加增强视觉表现,其中阴影兼容性最佳,描边与渐变需注意浏览器支持。
-
CSS动画错乱主因是属性间节奏、时长、缓动或关键帧不协调;应通过@keyframes分阶段精准控制,统一transform-origin,单关键帧内拼接transform值,差异化设置duration与timing-function,并用DevTools逐项调试。
-
普通函数调用时this指向全局对象或undefined;箭头函数不绑定this,继承外层作用域;对象方法中this指向调用者;构造函数中this指向新实例;call/apply/bind可显式控制this。
-
柯里化是将多参函数转换为依次接收单参数的函数链,如add(1)(2)(3);偏函数是通过固定部分参数生成新函数,如multiply.bind(null,2)。前者适用于参数复用、函数组合与事件处理,强调延迟执行;后者用于简化接口、定制回调与错误包装,侧重预设配置。两者均提升代码复用性与可读性,但柯里化注重逐步求值,偏函数聚焦参数绑定,应根据场景选择使用。
-
:active伪类用于定义元素被激活时的样式。当用户点击并按住按钮或链接时,触发该状态,常用于改变背景色或文字颜色以增强交互反馈。例如按钮点击时背景变深,松开即恢复;链接可设置点击瞬间变为红色。此效果仅在按下时生效,释放后消失,适合提供瞬时视觉响应。需注意其短暂性,不适用于持久状态切换,应配合JavaScript实现选中等长期效果。在移动端可能响应迟缓,建议结合:hover或触摸事件优化。同时要确保与:focus、:hover等状态协调,避免样式冲突。合理运用:active能有效提升界面响应感和用户体验。
-
用<video>标签插入本地视频需确保路径正确、格式兼容(优先H.264+AAC的MP4)、添加controls属性,并用<source>多格式回退(MP4在前、WebM在后),同时注意file://协议限制、移动端静音要求及浏览器编码支持差异。
-
background-attachment:fixed在现代桌面浏览器中虽能工作,但常因祖先元素的transform/opacity/filter创建新层叠上下文而退化为relative锚定,且iOSSafari等完全不支持,推荐用position:fixed独立div或伪元素模拟以确保兼容性。
-
必须用transform+opacity实现流星动画,因其硬件加速且不触发重排;left/top会导致卡顿,background-position难以精准控制轨迹;需错开delay/duration、限制DOM数量、禁用blur/box-shadow等性能杀手。
-
lang属性必须设在<html>标签上,值须匹配实际内容语言;zh-CN适用于国内项目,zh-Hans适合需分离脚本与地区的国际化产品。
-
JavaScript测试必须覆盖关键路径,单元测试用Jest隔离验证函数/组件,集成测试依场景选Cypress或Vitest,重点保障跨模块数据流与副作用,函数和分支覆盖率比行覆盖率更能暴露风险。
-
服务端缓存JavaScript需合理配置Cache-Control和ETag,结合文件哈希实现版本控制,利用CDN加速并设置适当缓存时间,动态内容则按需使用private缓存或服务端响应缓存,同时监控命中率与请求比例,及时清理失效缓存以优化性能。
-
Record和Tuple是JavaScript新增的深度不可变数据类型,分别用#{}和#[]表示,支持值比较与结构化克隆,适用于状态管理等场景。
-
导航栏下拉菜单不显示的常见原因是JavaScript未初始化或父容器overflow:hidden导致裁剪;需检查JS初始化、data属性、overflow样式、z-index及display/visibility设置。
-
浏览器原生不支持HTML元素直接通过speech属性启用语音识别,必须使用JavaScript的SpeechRecognitionAPI手动实现;input和textarea需绑定onresult事件并将transcript写入value,且受限于HTTPS、权限、浏览器兼容性等硬性条件。
-
HTML中ul和ol嵌套合法但需严格遵循结构:子列表必须作为li的子元素,CSS控制编号与缩进,counter实现多级序号,屏幕阅读器不读CSS生成编号。