示例题目模块知识点说明
解释 <script> 标签中 async 和 defer 的区别页面加载流程async:异步加载脚本,加载完成立即执行,不保证执行顺序,可能阻塞渲染;defer:异步加载脚本,DOM 解析完成后按顺序执行,推荐用于布局脚本
解释 JavaScript 的事件循环机制执行机制JS 单线程,执行顺序为:主线程同步 → 微任务队列清空 → 渲染 → 下一个宏任务 → 微任务 → 渲染 → …
宏任务和微任务的区别?举例说明执行机制宏任务由宿主环境调度,如 setTimeout、setInterval、MessageChannel;微任务由 JS 引擎调度,如 Promise.then、MutationObserver 等
常见的宏任务和微任务分别有哪些?执行机制宏任务:setTimeout、setInterval、I/O 回调、MessageChannel;微任务:Promise.then、queueMicrotask、MutationObserver 等
什么是闭包?闭包的典型使用场景有哪些?作用域闭包是函数与其词法作用域的组合,用于:创建私有变量、函数工厂、柯里化、事件监听器绑定变量等
JavaScript 中 this 的绑定方式有哪些?this 指向默认绑定、隐式绑定(对象方法)、显式绑定(call/apply/bind)、new 绑定、箭头函数绑定(基于词法作用域)
深拷贝与浅拷贝的区别?实现一个深拷贝函数内存管理浅拷贝复制引用;深拷贝递归复制所有属性,可使用 structuredClone、lodash 的 cloneDeep 或手写递归版
解释 WeakMap、WeakSet 与 WeakRef 的区别与适用场景内存管理Weak 系列仅接受对象为 key,弱引用不影响 GC 回收,适合存储临时缓存;WeakRef 提供弱引用对象的访问,可配合 FinalizationRegistry 使用