-
font-size:0能消除inline-block间隙,因其使HTML解析生成的空白文本节点失去字号而不可见;但子元素需显式重设font-size、line-height等继承属性,否则文字消失或布局错乱。
-
通过JavaScript操作video元素的play()和pause()方法可控制视频播放与暂停,需先用document.getElementById获取元素,结合按钮点击事件切换状态并更新按钮文本,注意浏览器可能阻止无用户交互的自动播放。
-
内存屏障在WebWorkers中虽不直接暴露,却是保障主线程与Worker间数据可见性的底层机制;它通过CPU缓存同步、postMessage隐式屏障及Transferable的release/acquire语义起作用,带来真实同步开销。
-
JavaScript并发控制通过Promise+队列+计数器实现,用固定槽位限制同时执行任务数(如3个),新任务入队等待空闲,running计数器跟踪运行中任务,完成即释放槽位并调度下一个。
-
答案:通过规划页面结构、创建HTML文档、添加商品信息与交互元素,使用语义化标签构建包含图片、标题、价格、规格选择及购买按钮的响应式电商页面,并通过CSS实现多设备适配布局。
-
关键不是“有没有滚”,而是“当前滚动位置是不是0”;应统一用Math.max(window.pageYOffset,document.documentElement.scrollTop)检测,避免依赖document.body.scrollTop,并注意自定义滚动容器需监听其scrollTop而非window。
-
最稳妥方式是在HTML的<head>中用<link>引入GoogleFonts并添加display=swap参数,配合带系统后备字体的font-family兜底链,可有效缓解FOIT/FOUT问题。
-
flat()仅用于数组扁平化,不参与渲染或优化层级;真正影响渲染的是用扁平数据组织组件结构、控制嵌套深度及避免冗余DOM;应结合层级标记实现逻辑扁平、视觉嵌套,并注意保留结构信息以防丢失。
-
position:sticky必须配合top/bottom/left/right才生效,常见失效原因包括父容器overflow非visible、元素无高度、IE不支持及Safari兼容性问题。
-
JavaScript性能优化关键是识别并解决主线程卡顿、内存泄漏和页面掉帧问题,包括批量DOM操作、合理使用节流防抖、避免闭包内存泄漏,以及用requestIdleCallback让出主线程。
-
vertical-align对inline-block有效但对flex容器无效,因后者由align-items控制垂直对齐;text-align仅作用于文本内容,justify-content才控制flexitem主轴分布;inline-flex宽度不足时justify-content失效,需显式设宽或改用flex。
-
可通过CSS的box-shadow属性为HTML元素添加背景阴影,支持基础阴影、多层阴影、内阴影、伪元素模拟复杂阴影及filter:drop-shadow()替代方案。
-
new操作符的模拟需四步:1.用Object.create(constructor.prototype)创建空对象并绑定原型;2.用constructor.apply(obj,args)绑定this并执行构造函数;3.若构造函数返回对象或函数则返回它,否则返回新对象;4.整合为myNew函数。
-
用@keyframes实现云朵飘动需设translateX(-100%)无缝循环,配合will-change:transform触发GPU加速、linear缓动、overflow:hidden防白边;云形用border-radius组合或clip-path绘制;分三层z-index模拟景深,各层duration/opacity/位移范围不同;须响应prefers-reduced-motion降级。
-
UserTimingAPI用于业务性能分析需满足三原则:一、在业务稳态节点打点(如UI挂载后);二、命名规范唯一且成对(如'cart-add-start'/'cart-add-success');三、用PerformanceObserver采集+sendBeacon上报,并通过程序化验证确保生效。