如何实现一个 new

面试官问:能否模拟实现`JS`的`new`操作符

me or you:木问题!!!

一、进行分析new的过程,主要有以下几点

1、创建一个新的对象

2、把obj的__proto__指向fn的prototype,实现继承

3、改变this的指向,执行构造函数、传递参数,fn.apply(obj,) 或者 fn.call()

4、返回新的对象obj

二、实现代码

源码地址:https://github.com/GuoYuFu123/test-project/blob/master/new/new.html

原创不易,自由转载,注明出处

你可能感兴趣的:(JavaScript)