原型对象
原型对象思想:内存空间共用。
原型对象:存在于构造函数的prototype中,它的属性和方法可以被实例化对象(new 构造函数创建的对象就是实例化对象)所使用
1)所有对象都有一个属性叫__proto__代表这个对象的原型对象,尽管对象引用的内存空间不同但对象的原型对象都引用的是同一个内存空间。对象取成员时,如果对象自己内存中没有该成员就会在原型对象中取值。
2)函数有一个属性叫prototype代表函数创建出来的对象的原型对象,prototype属性中引用了一个系统内置的对象就是new Object()创建的空对象,这个空对象就是用函数创建出来的对象的原型对象;函数也是特殊的对象,即函数的__proto__代表所有函数对象的原型对象引用Function.prototype。
3)用函数创建对象(new 构造函数),创建出来的对象的原型对象就是prototype属性引用的对象是new Object()创建的空对象{ }。则用不同函数创建对象的__proto__不引用同一个空间,但用同一个函数创建的对象的__proto__引用同一个空间。但是同一个函数创建的对象是不同的对象只是它们的原型对象相同。
4)只有引用数据才有原型对象,共用同一个原型对象的对象由同一个函数创建。