JavaScript中new操作符是如何实现对象创建和原型继承的原理示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计785个文字,预计阅读时间需要4分钟。
`new` 的用法及作用是通过构造函数来创建一个实例对象,该实例与原型和构造函数之间的关系如下:
- 首先创建一个空对象;- 将该对象的原型设置为构造函数的`prototype`属性;- 将构造函数的作用域赋给`this`,这个`this`指向新创建的对象;- 执行构造函数中的代码(为对象添加属性);- 如果构造函数返回一个对象,那么这个对象会替代`this`指向的新对象,否则返回这个新对象。
创建一个空对象 + 空对象的内部属性 + `__proto__` 赋值为构造函数 + `__proto__` 赋值作用
new的用处
new的作用是通过构造函数来创建一个实例对象,该实例与原型和构造函数之间的关系如下图所示:
先来总结一下
- 创建一个空对象
- 空对象的内部属性 __proto__ 赋值为构造函数的 prototype 属性
- 将构造函数的 this 指向空对象
- 执行构造函数内部代码
- 返回该新对象
详细说明
执行 new 操作时会依次经过以下步骤:
1、创建一个空对象
- 空对象是 Object 的实例,即 {} 。
本文共计785个文字,预计阅读时间需要4分钟。
`new` 的用法及作用是通过构造函数来创建一个实例对象,该实例与原型和构造函数之间的关系如下:
- 首先创建一个空对象;- 将该对象的原型设置为构造函数的`prototype`属性;- 将构造函数的作用域赋给`this`,这个`this`指向新创建的对象;- 执行构造函数中的代码(为对象添加属性);- 如果构造函数返回一个对象,那么这个对象会替代`this`指向的新对象,否则返回这个新对象。
创建一个空对象 + 空对象的内部属性 + `__proto__` 赋值为构造函数 + `__proto__` 赋值作用
new的用处
new的作用是通过构造函数来创建一个实例对象,该实例与原型和构造函数之间的关系如下图所示:
先来总结一下
- 创建一个空对象
- 空对象的内部属性 __proto__ 赋值为构造函数的 prototype 属性
- 将构造函数的 this 指向空对象
- 执行构造函数内部代码
- 返回该新对象
详细说明
执行 new 操作时会依次经过以下步骤:
1、创建一个空对象
- 空对象是 Object 的实例,即 {} 。

