:
创建一个对象
把创建的对象赋值给this
执行函数中的代码, 即把属性和方法添加到赋值之后的this
返回新对象
用伪代码来说明上述new Person()的过程如下:
// 使用new操作符时,会激活函数本身的内部属性...[[Class]]内部属性,字符串对象的一种表示, 如[Object Array]
// Object.prototype.toString.call(obj)返回值指向的就是[[Class]]这个内部属性...[[Prototype]] = Person.prototype;
// 调用构造函数内部属性[Call],将Person执行上下文中this设置为内部创建的对象Obj
Result = Person...当使用构造函数创建一个实例之后,会给实例添加内部属性[[prototype]],这个属性是一个指针,指向构造函数的prototype(原型)对象,由于是内部属性,无法通过脚本获取,但是在一些Chrome...继承
什么是原型链
ECMA中继承的主要方法就是通过原型链,主要是一个原型对象等于另一个类型的实例,由于实例内部含有一个指向构造函数的指针,这时候相当于重写了该原型对象,此时该原型对象就包含了一个指向另一个原型的指针