<meta charset="utf-8">
铁律
1,js中万物皆对象
2,对象分为函数对象和普通对象
3,每个对象都有proto
4,只有函数对象有prototype属性
5,所有的prototype指向的对象都有一个constructor属性,反指向对应的函数
原型对象
函数对象的prototype就是原型对象
如:
function Person(){}
Person.prototype.name='tom'
Person.prototype.age=12
**原型对象是挂载到函数对象上的普通对象(所以它也有proto属性)
一个函数Person对象通过new方式生成一个实例对象person1
那么person1会继承Person.proptype上的所有属性
并且person1的proto属性会指向Person.proptype
原型链:当获取实例对象person1的属性时,如果该实例对象本身并没有这个属性,那么系统会去实例对象原型上继续查找,直到查找到原型链的尽头,一般是null。
clipboard.png
clipboard1.png