-
不能,AbortController本身不支持层级取消,需手动通过父signal的abort事件显式调用子控制器的abort()实现级联;每个子任务须持有独立AbortController实例,并注意信号不可重用、监听器需清理。
-
JavaScript通过WebXR、A-Frame、AR.js和Three.js等技术实现跨平台VR/AR应用,支持浏览器内沉浸式体验。1.WebXR提供设备访问与交互基础;2.A-Frame以HTML标签快速构建VR场景;3.AR.js实现实时图像识别驱动的轻量级AR;4.Three.js结合WebXR支持高性能3D渲染。方案适合教育、营销等轻量级应用,具备免安装、跨平台优势,但需注意设备兼容性与用户引导设计。
-
可通过监听fullscreenchange事件并检查document.fullscreenElement来准确判断全屏状态,据此动态调整UI;全屏API须在用户手势中调用,退出时用document.exitFullscreen()并处理Promise;CSS可配合:fullscreen伪类和class切换实现响应式适配。
-
必须设置width=device-width,否则荣耀系机型会强制缩放;REM布局需监听resize和orientationchange;媒体查询应覆盖412px断点;Canvas自适应须用clientWidth/clientHeight。
-
flex-direction:column-reverse仅翻转主轴方向,不改变DOM顺序,故tabindex、屏幕阅读器、:first-child等仍按原始HTML生效;适用于纯展示场景,无障碍或交互场景应优先用order属性控制视觉顺序。
-
CSS-in-JS本身不提供实时计算CSS属性的运行时引擎,其“动态性”本质是将JS计算能力暴露给样式层;关键在于合理组织props、状态与样式函数的调用链,避免在样式插值中触发Hook、耗时操作或强制同步回流。
-
答案是使用Flexbox实现页脚固定布局:首先设置容器display:flex、flex-direction:column和min-height:100vh,再给主体内容设置flex:1使其撑满剩余空间,结合justify-content和align-items控制对齐,确保页脚始终位于底部。
-
普通函数有独立this和作用域,可被new调用、重绑定;箭头函数无this、arguments、prototype,继承外层this,不可new,适合回调等无需动态上下文场景。
-
clear:both并不恢复文档流,只是强制元素下移避开浮动区域;浮动元素仍脱离文档流,父容器继续塌陷。
-
原生HTML无toast组件,需用div+CSS+JS实现;document.createElement('toast')不显示因未注册为自定义元素;必须含短横线命名、用fixed定位并挂载到body、单例管理避免叠加、动画结束用animationend+setTimeout双保险清理。
-
给遮盖层加pointer-events:none可使鼠标事件穿透至下层元素,若其子元素需交互则单独设pointer-events:auto;该属性仅影响鼠标/触控事件,不支持IE11及以下,且在普通HTML中仅auto和none有效。
-
async/await是基于Promise和生成器的语法糖,使异步代码更线性易读。1.async函数自动返回Promise,2.await暂停函数执行并等待Promise完成,3.错误可用try/catch捕获,4.await后的Promise被加入微任务队列,遵循事件循环机制。
-
Ag-Grid表格在Angular12+Bootstrap5项目中渲染后高度为0,根本原因在于其SCSS主题样式未被全局加载,导致布局计算失败。
-
WeakSet是仅存储对象且不阻止垃圾回收的集合,具有弱引用特性,只提供add、delete、has方法,适用于私有状态标记和避免内存泄漏,不可用于缓存或遍历。
-
表单真正提交需满足:按钮type必须为submit;form标签存在且含action和method属性;监听submit事件并preventDefault后手动处理。