【前端面试】JavaScript相关
事件循环
this相关
见:this指向
原型和原型链
见:JS原型和原型链
JS二进制相关
见:JS二进制:File、Blob、FileReader、ArrayBuffer、Base64
执行上下文、作用域链
JS相关API
见:JS相关API
其他
let、const的区别
- 块级作用域
- 重复声明变量会报错
- 不能在声明前访问
Promise相关
- 解决回调地狱的问题
- 异常穿透
- Promise.all
- Promise.allSettled
- Promise.race
- Promise.any
什么是 Iterable 对象,与 Array 有什么区别
Iterable包含一个名为 [Symbol.iterator] 的方法,该方法返回一个迭代器(Iterator)对象。例如
1 | const myIterable = { |
异步加载 JS 脚本时,async 与 defer 有何区别

- 普通script标签:下载和执行都会阻塞Dom渲染
- defer:立即进行异步下载,等到HTML完全解析完后开始执行,有多个defer的标签时,会按照顺序下载执行
- async:立即进行异步下载,下载完后会立即执行同时阻塞Dom渲染,因为是下载完立即执行,不能保证多个加载时的先后顺序。