-
Promise是JavaScript处理异步操作的现代方案,解决回调地狱与错误处理混乱问题;支持链式.then()、集中.catch()、并行(all)、竞速(race)、全结算(allSettled)及async/await集成,但创建即执行且状态不可逆。
-
CSS的clip-path中polygon()无法直接过渡,因浏览器不支持顶点坐标插值;需用@keyframes或SVG<clipPath>+<animate>实现路径动画,shape-outside仅触发布局重排而无视觉过渡。
-
核心是通过现代打包工具和开发服务器实现代码修改后自动更新。1.Webpack配置hot:true并使用HotModuleReplacementPlugin支持HMR;2.Vite默认支持,基于ESM快速响应;3.Parcel零配置自动监听文件变化;4.配置代理避免跨域,确保HMR正常;5.主流框架如React和Vue提供插件或内置支持;6.优化缓存与依赖提升性能。选对工具并正确配置可稳定运行热更新环境。
-
采用模块联邦与运行时加载实现微前端热更新,通过子应用独立构建部署、主应用动态引入JS包,结合生命周期卸载旧实例、SystemJS或import()加载新版本,利用manifest文件检测更新并配合CDN缓存策略,确保不刷新页面即可完成局部热替换。
-
JavaScript正则匹配主要用字符串方法(match/test/replace)和RegExp对象,需注意模式编写、方法选择及标志位(g/i/m);match()提取所有匹配项并返回数组或null,test()返回布尔值用于校验,replace()支持字符串或函数替换,动态模式宜用RegExp构造函数并防注入。
-
本文详解如何在D3v3环形图(donutchart)中正确绑定原始数据,解决d.data为undefined的常见问题,确保mouseenter等事件能可靠访问绑定数据,避免依赖不稳定的explicitOriginalTarget.__data__。
-
JSON.parse(JSON.stringify(obj))仅适用于纯数据对象,遇Date、RegExp、undefined、function、Symbol、BigInt或循环引用会丢失或报错;手写深拷贝需类型判断、缓存检测循环引用;structuredClone支持多类型但不支持function等;lodash.cloneDeep兼容好但体积大、性能低。
-
JavaScript中链表需手动实现,核心是用对象模拟节点并通过next指针连接;单向链表节点含val和next,链表类维护head,支持O(1)头插、O(n)尾插及索引操作,需注意空链表和边界处理。
-
在HTML5中,灰色可通过十六进制、RGB、颜色关键字和HSL等方式设置。1.十六进制通过#RRGGBB表示,如#808080为中灰;2.RGB三值相等时为灰色,如rgb(128,128,128);3.颜色关键字如gray、silver可直接使用;4.HSL通过饱和度0%生成灰色,亮度控制明暗,如hsl(0,0%,50%)为中灰。
-
HTML5<inputtype="date">提交值恒为YYYY-MM-DD字符串,但后端需正确配置反序列化(如SpringBoot用@DateTimeFormat),前端避免newDate(value)而应补全时间(如value+"T00:00")确保跨浏览器兼容;显示格式与提交格式须分离处理。
-
推荐使用SheetJS库导出:通过CDN引入xlsx.min.js,调用table_to_sheet转换表格为工作表,book_new创建工作簿,book_append_sheet添加工作表,writeFile触发下载。
-
宏任务执行完后立即清空所有微任务,再取下一个宏任务;script是初始宏任务,微任务不触发新循环,只在当前宏任务末尾执行;queueMicrotask比setTimeout(0)更精准可控,但需防微任务无限递归导致卡死。
-
Reflect是ES6引入的内置对象,提供统一的API来操作对象,其方法与Proxy对应,用于实现元编程。通过Reflect.get、set等方法可安全执行默认行为,结合Proxy能实现属性拦截、数据验证和响应式系统。例如在get/set中使用Reflect保持this绑定,确保操作正确性。它返回布尔值便于判断,常用于日志记录、数据校验和依赖追踪场景。使用时应在Proxytrap中优先调用Reflect保留原逻辑,并注意避免过度使用影响性能。
-
border-collapse应设为collapse以实现边框合并,separate则保持独立边框并受border-spacing影响;collapse适用于网格化数据表格,separate适合需留白的设计场景,但需注意边框统一性与浏览器兼容性差异。
-
opacity工具类必须作用于opacity属性而非rgba(),它影响整个元素及其子节点;需分层控制时应使用伪元素或绝对定位隔离,避免语义结构被整体变淡。