例子
const o = new Object(); // 创建了一个新的空对象o o.__proto__ = Foo.prototype; // 将这个空对象 o 的 `__proto__` 成员 ` __proto__` 指向 Foo 函数的原型 `prototype` 成员对象 Foo.call(o); // this 指向 o 对象 a = o; // 将 o 对象赋给 a 对象
步骤
执行步骤可大概分为以下几步:
- 新生成了一个对象
- 对象连接到构造函数原型上,并绑定
this
- 执行构造函数代码(为这个新对象添加属性)
- 返回新对象