使用new 关键字调用函数,创建对象的过程中做了什么
使用 new
关键字创建对象的过程大致可以分为以下几个步骤:
- 创建空对象 :首先,
new
操作符会创建一个空对象,这个对象的隐式原型__proto__
属性会被设置为构造函数的显示原型prototype
属性。 - 设置原型链 :将新创建的空对象的隐式原型
__proto__
属性设置为构造函数的原型prototype
,这样新创建的对象就能够访问构造函数的原型上定义的方法和属性。 - 调用构造函数 :接着,会调用构造函数,并将
this
指向新创建的空对象。在构造函数中,可以给这个对象添加属性和方法。 - 执行构造函数:在构造函数中,会根据定义的参数列表执行一系列操作,例如初始化实例变量、执行其他方法等。
- 返回对象引用:构造函数执行完毕后,如果构造函数有返回值,并且返回值是对象类型,那么就返回构造函数的返回值;如果构造函数没有返回值或者返回值不是对象类型,那么就返回新创建的空对象。