一、原型与原型链
原型产生的原因:
实例化其实是一个很耗费内存空间的,通过构造函数去实例对象的时候,每一个对象中的属性和方法都是在自己的空间,那么当有多个对象的时候,这些属性和方法就有多少个在各自的空间中存在在,所以很浪费空间,因此,为了解决这个问题,实现数据共享,原型就产生了。在它们的原型对象上添加属性和方法所有实例对象都能用
原型中this的指向问题:
- 构造函数中的this就是实例对象(谁调用的就是谁的)
- 原型对象中的方法中的this就是实例对象
原型的作用
- 节省内存空间
- 实现继承(通过new关键字)
原型链的查找规则
从当前实例属性去查找,如果找到了就返回,否则顺着原型链一层一层往上找,直到找到null为止