目录
JavaScript 面试题详解—导览
2023年8月26日
本系列汇整了常见的 JavaScript 面试题,包含基础、型别、变数、作用域、闭包、数组、函式、物件、原型,以及事件循环
Lodash 手写题
- JavaScript 有哪些资料型别?该怎么辨别一个变数的资料型别?
- 在 JavaScript 当中,==、=== 与 Object.is() 的区别
- null、undefined 与 undeclared 的区别?
- Map 与 object 的差别?为什么有 object 还需要 Map?
- 请解释 Set、Map、WeakSet 和 WeakMap 的区别?
- 在 JavaScript 中 0.1 + 0.2 会是多少?为什么?如何避免相关问题?
- 严格模式 (use strict) 的用途?有什么好处?
变数、作用域、闭包
- 在 JavaScript 中用 var, let, 以及 const 有什么差别?
- Javascript 的作用域 (Scope) 与作用域链 (Scope Chain) 是什么?
- 什么是闭包 (Closure)?
- 什么是提升 (Hoisting)?
数组
- JavaScript 中数组 (Array) 的遍历方法 (for loop, for...in, for…of, forEach, map, filter, every, some)
- JavaScript 中的 sort 传入 (a,b) => b - a 会是升序还是降序?为什么呢?
函式
- 什么是箭头函式 (Arrow Function)?跟一般的函式有什么差别?
- JavaScript 立即调用函式 IIFE (Immediately Invoked Function Expression) 是什么?优缺点是什么?
- 高阶函式 (Higher Order Function) 是什么?
物件和原型
- 最常见的 JavaScript 原型 (prototype) 面试题 :原型 (prototype)、原型链 (prototype chain) 、原型继承 (prototypal inheritance)
- 请解释 JavaScript 中 this 的值?
- ES6 中的 class 是什么?和函式构造函式差别是什么?
事件循环、Promise、Async/Await
📚 免费订阅我们的电子报,在瞬息万变的 AI 时代中,持续走在最前沿