-
Node.js与浏览器EventLoop核心差异在于:浏览器每轮循环处理宏任务后立即执行微任务并渲染;Node.js基于libuv分阶段(timers、poll、check等),各阶段内执行对应回调,微任务在阶段切换前集中处理。Node.js中process.nextTick优先级高于Promise,且setImmediate在I/O回调后优先于setTimeout(0)执行,导致异步任务调度行为不同。
-
animation-fill-mode用于控制动画外元素样式应用,解决跳回问题。默认none不保留样式;forwards使动画结束后保持最后一帧;backwards在动画开始前及延迟期间应用第一帧;both结合二者效果。例如淡入动画配合forwards可防止透明度复原,滑入动画使用backwards避免延迟期间的闪烁,复杂入场动画用both实现平滑呈现。合理选择值能提升动画流畅性。
-
Canvas裁剪前必须确保图片加载完成,裁剪坐标需为整数并校验边界,导出时注意MIME类型与质量参数,高DPR设备需用devicePixelRatio校正坐标。
-
绝对定位元素脱离文档流,不参与盒模型计算且不影响其他元素布局;其定位参照最近非static祖先(含relative/absolute/fixed/sticky),宽高由top/bottom/left/right及width/height声明优先级决定,百分比值相对包含块,z-index受限于层叠上下文。
-
不能。CSS中没有transition-filter属性,需对filter属性本身设置transition;仅blur()、grayscale()、contrast()等部分函数支持平滑过渡,drop-shadow()等不支持,多函数混用易导致跳变。
-
WebSafe颜色在现代CSS中已无实际必要,因其仅适用于1990年代256色显示器,而今浏览器全面支持24位真彩色;其216种颜色由RGB各取00/33/66/99/CC/FF构成,如#336699,旨在避免早期抖动,但如今强制使用会导致色彩灰暗、对比度下降、可访问性变差及工具链警告。
-
Three.js是基于WebGL的3D库,核心包含场景、相机、渲染器三要素,支持几何体、材质、灯光与动画,广泛用于产品展示、数据可视化、游戏及虚拟展厅,降低前端3D开发门槛。
-
HTML本身不直接设置颜色,真正起作用的是CSS;通过style属性、<style>标签或外部CSS文件控制color、background-color等属性,支持十六进制、RGB、RGBA、HSL及预定义名等多种格式,需避免使用已废弃的bgcolor和<font>标签。
-
清理冗余CSS需结合工具与规范,先用ChromeCoverage、PurgeCSS等工具检测并删除未使用样式,再通过BEM命名、CSS预处理器、模块化架构从源头预防,最终实现样式表精简高效。
-
ServiceWorker是运行在浏览器后台的独立脚本,可拦截请求、缓存资源、实现离线访问和消息推送,是PWA的核心;需HTTPS(localhost除外)、同源注册、无DOM访问权限,通过postMessage与页面通信。
-
微博H5页面不提供头像上传功能,仅支持查看、点赞等轻交互;头像修改须通过官方App或PC网页版完成,且需满足200px最小边长、1080×1080推荐尺寸、JPEG/PNG/GIF格式及4MB大小限制。
-
JavaScript同步循环会阻塞浏览器渲染,导致进度条无法及时刷新;本文介绍使用async/await+自定义sleep函数将密集计算“切片”执行,让出主线程控制权,实现平滑、可响应的UI更新。
-
本文详解为何直接JSON.stringify()无法上传文件,以及如何使用FormData构建符合multipart/form-data规范的请求,确保头像、姓名、邮箱三者均能成功更新。
-
flex-grow本身无法直接被transition动画化,因其数值变化不触发连续视觉属性改变。需通过width、transform等可动画属性间接实现过渡效果。设置display:flex的容器中,子元素应避免固定宽度,配合transition:width0.3sease等属性,当flex-grow改变(如通过class切换)时,浏览器重新计算布局,视觉上呈现平滑伸缩动画。推荐使用JavaScript或hover等交互触发class变化,以驱动状态转换。注意避免频繁重排,优先用transform提升性能
-
JavaScript解构赋值是ES6引入的按模式从数组或对象提取值并赋给变量的语法,核心为简洁与清晰:数组按位置、对象按属性名匹配,支持默认值、重命名、嵌套及剩余运算符。