1.创建一个空对象
创建一个空对象,并且this变量引入该对象,同时还继承了函数的原型。
2.设置原型链
设置原型链,空对象指向构造函数的原型对象。
3.执行函数体
修改构造函数this指针指向空对象,并执行函数(给对象赋值)。
4.返回这个对象
判断返回值,返回对象就用该对象,没有的话就创建一个对象。
- 注意:如果手动在构造函数return
- return值类型:无效,还是返回new创建的对象。
- return引用类型:有效,覆盖new创建的对象。
function createPerson(name,age,sex){
//(1)创建空对象 {}
//(2)this指向这个对象
this = {}
//(3)对象赋值
this.name = name
this.age = age
this.sex = sex
//(4)返回这个对象
return this
}