面试题-7

### 63. instanceof的原理是什么,如何实现 instanceof 可以正确的判断对象的类型,因为内部机制是通过判断对象的原型链中是不是能找到类型的 prototype。 实现 instanceof: 1. 首先获取类型的原型 2. 然后获得对象的原型 3. 然后一直循环判断对象的原型是否等于类型的原型,直到对象原型为 null,因为原型链最终为 null

- 阅读全文 -

面试题-6

### 55. 手写call、apply及bind函数 **call 函数的实现步骤:** - 1.判断调用对象是否为函数,即使我们是定义在函数的原型上的,但是可能出现使用 call 等方式调用的情况。 - 2.判断传入上下文对象是否存在,如果不存在,则设置为 window 。 - 3.处理传入的参数,截取第一个参数后的所有参数。 - 4.将函数作为上下文对象的一个属性。 -

- 阅读全文 -

面试题-5

### 45. 什么是`Set`对象,它是如何工作的? Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。 我们可以使用Set构造函数创建Set实例。 ```js const set1 = new Set(); const set2 = new Set(["a","b","c","d","d","e"]); ``` 我们可以使用add方法向Set实例中添

- 阅读全文 -

面试题-4

### 36. 简单介绍一下 V8 引擎的垃圾回收机制 ``` v8 的垃圾回收机制基于分代回收机制,这个机制又基于世代假说,这个假说有两个特点,一是新生的对象容易早死,另一个是不死的对象会活得更久。基于这个假说,v8 引擎将内存分为了新生代和老生代。 新创建的对象或者只经历过一次的垃圾回收的对象被称为新生代。经历过多次垃圾回收的对象被称为老生代。 新生代被分为 From 和

- 阅读全文 -

面试题-3

### 24. js数组和对象有哪些原生方法,列举一下 ![](https://user-gold-cdn.xitu.io/2020/6/2/17274081b81ad881?w=1089&h=712&f=png&s=115049) ![](https://user-gold-cdn.xitu.io/2020/6/2/1727407aed442084?w=1092&h=638&f=png&

- 阅读全文 -