2020前端面试复习-js部分-new执行原理

95 阅读1分钟

new执行原理

重写new

  1. 创建一个实例对象
  2. 会把构造函数当做普通函数执行 私有上下文,作用域链,初始this,形参赋值 this->指向创建的实例对象 用call方法
  3. 观察函数执行的返回值,如果没有返回值或者返回的是基本数据类型,默认返回都是实例对象,否则以自己返回的值为主

Object.create([pro]) 创建一个空对象,把pro作为当前创建空对象的__proto__的指向(把[pro]作为当前创建空对象的原型)

  1. [pro]可以传递null或者一个对象
  2. 如果传递的是null,则当前空对象不具备)__proto__的属性,也就是不属于任何实例