原型和原型链?
原型:
每个函数都有prototype属性称为原型,因为这个属性的值是个对象,也成为原型对象。
作用:
- 原型可以存放一些属性和方法,共享给实例对象使用
- 在JavaScript中实现继承
_ _ proto_ _:每个对象都有 _ _ proto _ _ 属性
**作用:**这个属性指向它的原型对象
const arr=new Array(1,2,3)
arr.reverse() //翻转
arr.sort() //排序
console.log(arr.__proto__===Array.prototype) //true
arr为什么能使用这些方法呢?
原型链:
对象都有_ _ proto _ _ 属性,这个属性指向它的原型对象,原型对象也是对象,也有_ _ proto _ _属性,指向原型对象的原型对象,这样一层一层形成的链式结构称为原型链,最顶层找不到则返回null