-
line-clamp实现多行文本省略需三步:display:-webkit-box、-webkit-box-orient:vertical、-webkit-line-clamp;仅WebKit内核稳定支持,Firefox部分支持,IE完全不支持,须降级处理。
-
Map和Set是解决键值映射与自动去重问题的专用工具:Map支持对象作键、插入顺序遍历、O(1)查存;Set提供O(1)去重与存在性判断;小规模静态场景仍宜用对象和数组。
-
<p>BigInt是ES2020引入的用于安全表示超大整数的数据类型,解决Number类型在超过2^53-1后精度丢失的问题;可通过在整数后加n或调用BigInt()函数创建;支持与自身类型的数学运算,不兼容number类型混合计算;与number比较时需注意类型差异,推荐用toString()避免精度损失;适用于大整数ID、加密运算、高精度时间戳等场景。</p>
-
JavaScript状态管理核心是共享、响应式追踪与安全更新数据;Redux为跨框架函数式方案,强调纯函数与单向数据流,Vuex则深度集成Vue响应式系统,专用于Vue生态。
-
CSS工具与框架正转向“管体验”,以原子化、配置前移、编译加速、语义增强为核心;原生CSS能力爆发,嵌套、:has()、容器查询等特性普及;清理工具走向静默智能;框架定位分化,Tailwind/shadcn/ui成主流,CSS-in-JS持续萎缩。
-
递归是函数调用自身解决问题的技巧,需满足基础情况(终止条件)和递归情况(规模递减),典型步骤为确定basecase、找出递推关系并编码实现,常见陷阱包括缺失basecase或未缩小问题规模。
-
HTML5HistoryAPI通过pushState()和replaceState()实现无刷新URL修改与历史管理,配合popstate事件响应导航,是SPA路由核心;HTML4无此能力,仅能依赖hash或过时iframe方案。
-
根本原因是子项默认flex-shrink:1,解决方法是设flex-shrink:0或flex:00200px;flex-basis优先于width,需同时禁用收缩并设定基准尺寸,必要时检查父容器min-width和overflow约束。
-
调用摄像头在网页中实现视频采集功能主要依赖于getUserMediaAPI和HTML的<video>标签。1.调用摄像头使用navigator.mediaDevices.getUserMedia()方法,传入指定约束对象,成功后将流绑定到video元素上展示;2.HTML中通过添加autoplay属性的<video>标签配合JavaScript显示实时画面;3.可通过停止流中的轨道实现关闭摄像头功能;4.注意事项包括需运行在HTTPS环境、用户授权机制、移动端兼容性及iframe中
-
跨域iframe通信必须使用window.postMessage(),发送方调用iframe.contentWindow.postMessage(),接收方监听message事件并严格校验event.origin和event.source;document.domain已基本淘汰;服务端代理或同源中转页可作为补充方案。
-
卡片边框错位主因是默认content-box导致padding和border额外增加宽高,解决方法是全局设置box-sizing:border-box;需统一间距策略、确保flex对齐、处理内容高度不均,并用开发者工具验证。
-
sticky定位结合relative与fixed特性,元素在滚动到设定阈值(如top:0)时吸附视口,需指定临界值才生效,且受限于有滚动机制的父容器范围,不脱离文档流,适用于导航栏、表头等局部固定场景。
-
JavaScript错误处理需提前预防、精准捕获、合理反馈、有效恢复;应选择性使用try-catch包裹高风险操作,结构化抛出错误,设置全局兜底,并借助严格模式与工具链提升健壮性。
-
使用linear-gradient()函数可实现CSS背景渐变,通过设置方向和颜色停靠点创建平滑过渡效果,支持多色、角度、位置控制及重复渐变,常用于背景、按钮等场景。
-
应使用rgba()设置背景色实现半透明效果,如background-color:rgba(0,0,0,0.6),其alpha值仅作用于颜色本身,文字保持完全不透明,兼容IE9+,避免误用opacity或unsupported语法。