-
display:none是唯一真正移除渲染的方式,元素从渲染树中完全剔除、不占空间、不响应事件、JS查询尺寸为0,适合权限控制和条件渲染,但频繁切换会触发重排。
-
padStart能补零是因为它专用于字符串左填充,但数字类型需先转字符串(如String(5).padStart(2,'0')),否则报错或语法错误;注意getMonth()需+1再补零。
-
gl.createBuffer()返回null说明WebGL上下文无效,需先检查gl是否为有效WebGLRenderingContext,确认canvas已正确获取上下文且未丢失。
-
WeakRef单独无法支撑图像资源池,因其仅提供“可能还活着”的引用通道,不通知回收时机;必须搭配FinalizationRegistry才能触发自动清理,否则缓存条目堆积、deref()频繁返回undefined导致重复加载与内存泄漏。
-
JavaScript前端视频滤镜通过Canvas逐帧获取并修改像素数据实现,核心是实时绘制与合成而非文件重编码;需降采样或OffscreenCanvas+WebWorker优化性能。
-
Memoization的核心是用空间换时间,通过缓存纯函数的计算结果提升性能;关键在于为数组输入生成稳定可哈希的键(如JSON.stringify),并注意适用场景与限制。
-
位运算符在JavaScript中适用于取整、奇偶判断、变量交换、权限管理和数组索引截断等场景,通过直接操作二进制提升性能,尤其在高频计算中仍有优势,但需权衡可读性与维护成本。
-
最稳方案是服务端配置X-Frame-Options或CSPframe-ancestors响应头,Nginx需用add_headerX-Frame-Options"DENY"always;或add_headerContent-Security-Policy"frame-ancestors'self'https://admin.example.com;"always;,二者不可共存,且<meta>和JS检测已失效。
-
React是一个由Facebook开发的JavaScript库,用于构建动态、可复用的UI组件;其核心是组件化、虚拟DOM和数据驱动视图,专注高效、可维护地渲染用户界面。
-
JavaScript内存泄漏排查核心是定位“本该被回收却一直存活”的对象,依赖ChromeDevTools内存面板拍快照对比,重点关注闭包、事件监听器、定时器、DOM引用及全局缓存导致的泄漏,并通过及时解绑、清空引用、清理定时器等修复。
-
浏览器无法自动识别深浅背景,所谓自动适配实为人为设定亮度阈值(如luminance>0.5),需借助color-mix()或hsl()+calc()模拟,但CSS无法动态读取背景色,故仅适用于预设可控背景;真自动需JS计算亮度并切换class,CSS仅负责样式定义。
-
跨浏览器CustomEventPolyfill的核心难点在于环境检测、detail属性手动挂载、原型链对齐(CustomEvent.prototype=Event.prototype)、以及dispatchEvent/fireEvent双路径兼容。
-
事件循环通过区分宏任务和微任务管理执行顺序,确保异步代码合理调度;2.每个宏任务执行后会清空所有微任务再进入下一宏任务或UI渲染;3.宏任务包括script执行、setTimeout、I/O、UI渲染等,微任务包括Promise回调、queueMicrotask等;4.区分两者可提升性能:微任务保证快速响应,宏任务避免阻塞主线程;5.优化策略包括用Promise处理即时逻辑、用setTimeout/requestAnimationFrame拆分耗时任务;6.排查堵塞需用Performance面板分析长任务
-
Vue中监听路由变化需监听$route具体属性而非对象本身,推荐watch$route.fullPath(含query变化)或$path(仅path),并设immediate:true;Vue3需用watch(()=>route.fullPath)或onBeforeRouteUpdate。
-
Android版Chrome保存网页需点•••→下载→选“网页,完整”或“网页,仅HTML”,但受PWA缓存和离线模式限制;iOSSafari不支持该功能;保存后需用Edge/Firefox等App打开,避免路径解析失败。