原型和原型链
1、原型
每个函数都有prototype属性,称为原型因为这个属性的值是一个对象,也称为原型对象
作用:
- 存放一些属性和方法,提供给这个对象的实例对象所共享和使用
2、原型链
原型链是一种对象之间通过原型链连接起来的机制,用于实现继承
3、面试题
原型:
- 每个JavaScript对象都有一个原型,它是一个指向另外一个对象的引用
- 原型对象可以包含属性和方法,这些属性和方法可以被该对象的所有实例所共享
原型链
- 原型链是一种对象之间通过原型链连接起来的机制,用于实现继承
- 当我们访问对象的某个属性或者方法时,如果改对象本身没有该属性和方法,则会沿着原型链向上去查找,知道找到该属性为止
就比如,我创建了一个Array的实例对象,然后这个实例对象是有__proto__属性,这个属性指向它的原型对象,也就是Array.prototype,然后Array.prototype也是一个对象也有一个__proto__,指向它的原型对象Object.prototype,就是这种一直链式继承的关系。