,就会产生大量重复代码,每个对象添加属性都需要重新写一次。...:
创建一个对象
把创建的对象赋值给this
执行函数中的代码, 即把属性和方法添加到赋值之后的this
返回新对象
用伪代码来说明上述new Person()的过程如下:
// 使用new操作符时,会激活函数本身的内部属性...[[call]]时,执行Person中的代码,给this对象添加属性和方法
this.name = name;
this.age = age;
this.showName = function() {...Person.prototype.constructor = Person;
原型模式就是不必在构造函数中定义实例的属性和方法,而是将属性和方法都添加到原型对象中。...call()调用Parent(),在new Child()创建实例的时候,执行Parent中的代码,而此时的this已经被call()指向Child中的this,所以新建的子实例,就拥有了父实例的全部属性