-
WeakRef无法直接包裹WebGLTexture,因其是宿主对象且不受JSGC管理;可行方案是用WeakRef持有HTMLImageElement或轻量元数据对象,并通过FinalizationRegistry在对象销毁时调用gl.deleteTexture(),且须先校验gl.isTexture()。
-
Less无法直接读取环境变量,必须通过构建工具(如Webpack的less-loader.modifyVars、Vite的lessOptions.modifyVars)将环境值作为全局变量注入,并结合if()函数实现条件样式;复杂场景推荐CSS自定义属性+JS运行时切换。
-
vertical-align:middle在移动端常失效,因其仅对inline和table-cell元素有效,而flex/grid容器中完全无效;iOSSafari对baseline计算更严格,且实际对齐的是contentarea中点而非视觉中心。
-
最可靠的方式是直接在回调外保存requestAnimationFrame返回的ID。ID是取消动画的唯一凭证,需显式存储以支持暂停、恢复等帧控操作;多个动画须各自持有独立ID,避免误杀;推荐用变量显式管理,闭包仅在多实例隔离时必要。
-
本文详解如何利用jQuery的serialize()方法,将具有相同name属性(含[]数组语法)的多个表单字段自动打包为标准URL编码格式,并在PHP端正确解析为索引数组,实现前端多行数据与后端结构化处理的无缝对接。
-
能,但需配合push才能构成完整栈行为;pop仅出栈,撤销重做需双栈协同,主栈存可撤销状态,重做栈存被撤销动作,且新动作前必须清空重做栈。
-
本文整理一套前端 CORS 预检失败的排查流程,从浏览器请求头、OPTIONS 预检、服务端响应、网关转发到 Cookie 场景逐步定位,帮助接口联调更快闭环。
-
无法用纯HTML实现FedCM联合登录,因其必须由JavaScript在HTTPS安全上下文中调用navigator.credentials.get(),且需用户手势触发、正确配置providers及mediation等参数,并满足浏览器策略与服务端OIDC信任链要求。
-
ServiceWorker的install和activate事件分别对应installing→installed和activating→activated状态阶段,install阶段缓存资源并需waitUntil确保完成,activate阶段清理旧缓存且不可在install中执行,状态流转受页面生命周期和skipWaiting()控制。
-
不能直接用atob解WebSocket报文里的Base64——必须先清洗非法字符、再补等号至长度为4的倍数、校验格式,然后用atob转为Latin-1字符串,最后映射为Uint8Array才得真实二进制。
-
scrollbar伪元素不支持transition,因其不属于常规渲染树;应通过transform+requestAnimationFrame模拟缓动,或用scrollIntoView({behavior:'smooth'})等滚动API实现真正平滑效果。
-
垃圾回收是现代编程语言自动管理内存的核心机制,通过引用计数、标记-清除、分代收集和复制算法等方式回收无用对象,避免内存泄漏;主流语言如Java采用分代GC结构并结合多种收集器提升效率;不当的GC配置可能导致频繁停顿、长时间暂停、内存溢出或高CPU占用;调优需合理设置堆大小、选择合适收集器、调整新生代比例、避免大对象过早进入老年代,并结合日志监控分析;编码层面应减少强引用滥用、控制缓存生命周期、降低临时对象创建,以减轻GC压力,保障应用性能稳定。
-
:has()不能选取父元素,仅能基于后代或兄弟是否匹配条件来筛选自身;它不反转匹配目标,仅实现条件渲染,如form:has(.error)为form自身设样式,而非其父级。
-
因为.container的width始终为100%,但实际渲染宽度由断点媒体查询中的max-width决定;例如在≥1200px视口下,computedwidth显示1140px,正是@media(min-width:1200px){.container{max-width:1140px}}生效所致。
-
JavaScript代码覆盖率衡量的是测试执行时源码中被实际运行的语句、分支、函数和行,而非测试数量;它不保证质量,但能暴露未触达的逻辑盲区如else分支、catch块等。