JavaScript高频面试题
JavaScript高频面试题
-
数据类型 ***
- 基本类型
- 引用类型
举例:Symbol的作用
-
判断变量的类型 ***
- typeof
- instanceof及原理
- Object.toString().call()及原理[[class]]
举例:typeof null //"object"
判断数组的方法
判断空对象的方法
-
数据类型转换 **
- 相等和全等=
- 强制转换和隐式转换
- 包装类型
-
原型和原型链 ***
举例:描述构造函数、实例和原型之间的关系,比如说,构造函数的prototype属性是指向原型等等
-
闭包 ***
- 优缺点
-
call/apply/bind ***
-
DOM事件流和事件委托 ***
- 捕获、冒泡
- 事件委托及好处
-
cookie和storage ***
- cookie的构成
- localStorage和sessionStorage
举例:cookie的HTTPOnly
-
数组、对象常见的方法 **
- Array:slice/splice/concat/filter/map/reduce
- Object:keys/assign
举例:改变原数组的方法
-
new对象时内部做了什么 *
-
防抖和节流 *
-
requestAnimationFrame **
- 优势
-
this指向 **
-
作用域链 *
-
let/var/const ***
-
异步编程:Promise和async await ***
- 内部状态
- Promise.race和Promise.all
-
箭头函数 **
-
JavaScript运行机制 ***
- 单线程、解释性语言
- 事件循环
- 宏任务/微任务
-
实现继承的方式 **
-
垃圾回收 *
(ps后续待补充)