-
CSSHoudini通过多个API让JavaScript直接操作浏览器渲染引擎,实现更灵活的样式控制。1.CustomPropertiesandValuesAPI支持定义带类型的CSS变量并进行动画;2.TypedOMAPI提供带单位的数值对象,提升性能和安全性;3.CSSParserAPI允许自定义CSS解析规则;4.PaintAPI通过PaintWorklet实现自定义绘制效果,如棋盘格背景;5.AnimationWorkletAPI创建高性能线程级动画;6.LayoutAPI自定义布局算法,如瀑布流
-
<p>box-sizing:border-box将padding和border计入width/height,使尺寸更直观;全局启用需用,::before,\</em>::after重置并置于样式表最前,兼容IE8+(需-webkit-前缀)。</p>
-
段落必须用<p>而非<div>,标题须按<h1>–<h6>层级规范使用,强调用<strong>/<em>而非<b>/<i>,换行优先CSS控制而非<br>,语义缺失会损害SEO与可访问性。
-
text-align仅控制块级元素内部的行内内容对齐,不影响块级子元素自身位置;值包括left、right、center、justify及语义化start/end;失效常见于继承覆盖、元素脱离文本流或误用于Flex/Grid容器。
-
HTML5不支持RTSP协议,必须通过服务端转协议(如HLS、WebRTC、WebSocket+MSE),且页面须运行在HTTPS或localhost安全上下文中;所有资源(.m3u8、.ts、wss)均需HTTPS/WSS,CORS与证书链配置也必须合规。
-
本文详解如何在D3v3中为甜甜圈图(donutchart)正确绑定数据,解决d.data为undefined的常见问题,并确保mouseenter事件中能安全访问原始数据以支撑Tooltip功能。
-
轮播图卡顿或切换生硬,主因是CSS过渡属性与JS动画节奏未对齐:需统一transition与speed、避免触发布局、合理使用will-change和requestAnimationFrame、处理visibilitychange、配置touch-action与passive事件、控制图片加载时机。
-
Jest需配置Babel支持才能解析ES6/JSX,测试文件须命名规范(.test.js或__tests__目录),mock必须在import前调用,且需用jest.resetModules()和jest.clearAllMocks()清理状态。
-
事件循环延迟的测量通过setTimeout(0)结合performance.now()记录任务调度与执行的时间差实现,具体步骤为:1.记录任务提交时间;2.利用setTimeout(callback,0)将任务插入队列;3.执行时记录完成时间;4.计算两者差值得到延迟。此外还可使用MessageChannel或requestAnimationFrame进行更精细测量,分别反映宏任务调度和UI渲染延迟。持续高延迟说明主线程被阻塞,需拆分任务、减少DOM操作、使用WebWorkers等策略优化性能。
-
JavaScript变量无类型,值才有类型;7种原始类型(string、number、boolean、null、undefined、symbol、bigint)和object类型;typeofnull为"object"是历史bug;类型检测应使用Array.isArray、instanceof或Object.prototype.toString.call。
-
WebSocket连接失败主因是服务端未运行、URL协议错误(须用ws://或wss://)或网络拦截;onmessage收不到数据多因服务端未send()或前端未JSON.parse();发送前须确保readyState为1;二进制数据需设置binaryType并注意ChromeDevTools不显示Binary帧。
-
内联关键CSS提升首屏速度,外部引用利于缓存复用,避免@import和行内样式滥用,通过压缩、去重、分块优化体积,结合异步加载实现高性能渲染。
-
箭头函数是函数表达式的语法糖,无this/arguments/super/new.target,不可作构造函数;普通函数声明会提升,表达式不会;箭头函数适用于需继承外层this的闭包场景,禁用于对象方法、arguments依赖、动态this绑定及原型继承。
-
JSON.parse(JSON.stringify(obj))不是真正深拷贝,会丢失undefined、function、Symbol等类型且不支持循环引用;structuredClone()是更优原生方案,但不支持function和undefined;手写需注意类型识别与循环引用处理;LodashcloneDeep兼容性好但体积大。
-
优酷游客模式下无法关闭HTML5播放器,因其自2023年起已全面弃用Flash并强制使用自研HTML5播放器;所谓“关HTML5”实为控制自动播放、广告等行为,需通过浏览器策略或开发者工具实现。