-
Promise是ES6引入的异步编程标准对象,用于解决回调地狱、错误处理分散及缺乏统一控制等问题;它表示异步操作的三种状态(pending/fulfilled/rejected),通过newPromise()创建,支持.then()/.catch()链式调用与Promise.all/race/finally等组合方法。
-
SVG是基于XML的矢量图形格式,可内联于HTML中,通过viewBox定义逻辑坐标、width/height控制显示尺寸;JavaScript可用createElementNS(指定命名空间)创建图形元素并操作属性、事件与动画,path元素通过d属性实现复杂路径绘制。
-
正则中|应在分层建模后用于聚合语义等价的维度取值,而非简单枚举;需用括号明确分组、^$锚定,并推荐命名捕获提升可维护性。
-
ResizeObserver是监听组件尺寸变化的最优方案,它直接绑定元素、精准触发回调、避免全局事件冲突,支持iframe和阴影DOM,且提供contentRect数据;相比window.resize,它能感知布局重排等细粒度变化。
-
用border实现三角形时无法直接添加边框,因其边框本身就是构成三角形的本体;可行方案是双层伪元素叠加模拟描边,或改用SVG以获得精确、稳定、高DPI友好的描边效果。
-
getImageData非万能,需同源、坐标合法、画布已渲染;跨域图须设img.crossOrigin='anonymous'且服务端配CORS;空白画布返回全黑数据;ImageData.data是Uint8ClampedArray,按R-G-B-A每像素4字节布局,修改后需putImageData生效;参数须为非负整数,越界易报错;大图处理宜用OffscreenCanvas或WebWorker。
-
perspective属性必须作用于父容器并配合transform-style:preserve-3d才能生效,值越小透视感越强;rotate3d比rotateX/Y/Z更稳定可控;translateZ失效常因父容器未设preserve-3d或触发层叠上下文。
-
用transition实现CSS颜色动画需在默认状态声明transition,支持color、background-color等属性,推荐hsl()/rgb()格式,避免transparent与currentcolor混合,注意性能优化与无障碍适配。
-
<del>和<ins>是语义化标签,明确表达文本删除与插入行为,支持机器可读、屏幕阅读器播报及搜索引擎识别;不可用<s>或<u>替代,因其语义不符且缺乏修订信息。
-
document.execCommand("copy")已被废弃,现代浏览器中需改用navigator.clipboard.writeText(),它要求HTTPS/localhost环境、用户手势触发且返回Promise;旧版浏览器可降级使用临时textarea+execCommand方案。
-
HTML是SEO的基础执行载体,需规范使用title、description、heading、alt及结构化数据等标签以提升搜索可见性与点击率。
-
link标签必须写在head里,否则会触发FOUC;href需用绝对路径、rel="stylesheet"不可省略;CSS应按优先级顺序加载,避免@import和冗余type属性。
-
必须为容器设置max-width并配合margin:0auto实现居中,否则大屏下正文行宽超120字符致阅读效率骤降;需确保元素为块级、避免误用margin:auto或max-width:100%等常见错误。
-
transition-opacity更可靠,因其基于CSStransition声明式控制,触发明确、可中断可逆;而animate-fadeOut依赖@keyframes+forwards,不处理DOM移除与状态同步,易致元素残留、遮挡点击。
-
应通过开发者工具Network面板检查CSS请求的Status、Response及Content-Type,结合浏览器直接访问和curl验证,排查路径、大小写、MIME类型、标签语法及构建配置等多方面问题。