-
Reflect.get用于运行时取值(支持receiver),Object.getOwnPropertyDescriptor用于查询属性元信息;Proxy中应优先使用Reflect方法以确保语义正确和行为可组合。
-
requestAnimationFrame能匹配60FPS,因其在每帧重绘前执行回调,且浏览器以约16.67ms间隔刷新;正确用法包括节流调用、读写分离、移出耗时操作、结合观察者API,并避免与setTimeout混用或用setInterval替代。
-
系统外观颜色不可靠,因其由操作系统和浏览器联合解释,导致跨平台表现差异大、不支持CSS变量管理、高对比度模式下易失效,且构建工具可能静默丢弃;应改用语义化自定义属性(如--text-ui)配合媒体查询实现可控配色。
-
结论:别碰body的margin,用容器元素包裹内容并设margin或padding更可控;因浏览器对body默认外边距不一致,重置会引发外边距合并等不可预期问题。
-
“查看网页源代码”只显示服务器返回的原始HTML,而JS动态修改的DOM需用“检查”查看Elements面板;curl默认无Cookie/User-Agent且不执行JS,故与浏览器源码不同;移动端需借助桌面DevTools调试。
-
let和const从根源上解决var的三大问题:作用域混乱、变量覆盖、声明前误用;它们具块级作用域、不提升、禁止重复声明、支持TDZ,并确保for循环中每次迭代绑定独立变量。
-
page-break-marks并非标准CSS属性,也未被任何主流浏览器支持;它源于对出版软件裁切标记的误迁,@page规则仅支持尺寸、边距等基础打印控制,无法生成物理裁切线。
-
在Vue3组合式API中,app.mount()返回的是根组件实例(而非应用实例),只有通过该实例才能访问setup()中暴露的响应式数据;直接操作app.timer无效,正确做法是保存mount()的返回值并更新其属性。在Vue3组合式API中,`app.mount()`返回的是根组件实例(而非应用实例),只有通过该实例才能访问`setup()`中暴露的响应式数据;直接操作`app.timer`无效,正确做法是
-
最简可行轮播图需用原生JS控制transform:translateX()与setInterval,确保不跳帧、响应及时、索引取模防越界;手动操作后重置定时器;无缝轮播靠首尾复制DOM;触摸滑动用rAF节流+touchend判定。
-
实训内容应按任务组织,每项含目标、实现方式(关键代码)、实际效果、卡点及解决;须写本地服务器运行原因及兼容性实测细节。
-
用事件委托配合matches实现邮件多选:监听.mail-list的change事件,用e.target.matches('.mail-checkbox')识别目标,通过value获取邮件ID,统一处理勾选、全选及indeterminate状态,并用Array.from+querySelectorAll批量提取已选项。
-
无法用纯HTML实现FedCM联合登录,因其必须由JavaScript在HTTPS安全上下文中调用navigator.credentials.get(),且需用户手势触发、正确配置providers及mediation等参数,并满足浏览器策略与服务端OIDC信任链要求。
-
toString在对象转字符串时被优先调用,如字符串拼接、alert、console.log、String();valueOf在需原始值时被优先调用,如数学运算、比较、Number();引擎按规范顺序尝试二者,重写需确保返回符合类型要求的值。
-
答案:设计可扩展JavaScript事件系统需支持注册、触发、移除事件,采用观察者模式实现解耦;通过命名空间与通配符(如'form:*')提升管理效率,结合树形结构优化匹配性能;支持异步回调与优先级控制,避免阻塞并确保执行顺序;提供once方法实现一次性监听,内置插件机制与模块化架构便于扩展中间件及定制实例,保障系统清晰稳定易维护。
-
text-box-trim目前未被任何主流浏览器支持,仍处于CSSTextDecorationLevel4草案阶段;实际开发中需用flex、transform或vertical-align等方案替代。