目录
一、首先,应该了解new关键字创建对象的过程:
1. 新对象都有一个属性 叫__proto__
2. 构造函数都有一个属性 叫prototype
3. 构造函数的原型对象上有一个属性 叫constructor 指向构造函数
4. 所有的原型对象都是Object函数对象构造出来的(除Object本身的原型对象之外)
二、对象的相同之处:
1. 新对象都有一个属性 叫__proto__
2. 构造函数都有一个属性 叫prototype
3. 构造函数的原型对象上有一个属性 叫constructor 指向构造函数
4. 所有的原型对象都是Object函数对象构造出来的(除Object本身的原型对象之外)
三、原型的概念(prototype):
原型:每一个javascript对象(除null外)创建的时候,都会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型中“继承”属性。如图。
四、原型链的作用:
1.原型链上面的方法可以继承,先在自身属性中查找,沿着原型链向上寻找,公有方法一般放原型链。
2.数据共享 节约内存内存空间
在通过创建函数创建对象时:
将构造函数同样当成一个对象: