new执行原理
重写new
- 创建一个实例对象
- 会把构造函数当做普通函数执行 私有上下文,作用域链,初始this,形参赋值 this->指向创建的实例对象 用call方法
- 观察函数执行的返回值,如果没有返回值或者返回的是基本数据类型,默认返回都是实例对象,否则以自己返回的值为主
Object.create([pro]) 创建一个空对象,把pro作为当前创建空对象的__proto__的指向(把[pro]作为当前创建空对象的原型)
- [pro]可以传递null或者一个对象
- 如果传递的是null,则当前空对象不具备)__proto__的属性,也就是不属于任何实例