---转载·不乐意看实现原理,可最下面看总结---
原型:每个都有prototype属性,称之为原型;因为这个属性的值是,也称为原型对象。
1.作用:
(1).可以存放一些属性和方法
(2).在JavaScript中实现继承
2.原型及原型链的实现原理
(1)原型
例如:
const arr =new Array(1,2,3)
arr.reverse()//翻转
arr.sort()//排序
console.log(arr)//浏览器打开即可查看到prototype及其身上的属性
构造函数Array身上挂载了prototype原型,所以使用构造函数创建的实例对象arr也拥有了prototype原型,arr也可以使用prototype原型身上的方法。
查看Array.prototype有那些方法及说明:
developer.mozilla.org/zh-CN/docs/…
·为什么创建的实例对象可以使用prototype原型?
_proto_:每个对象都有__proto__属性
作用:这个属性指向它的原型对像
console.log(arr.__porto__===Array.prototype);//true两者等价的
(2)原型链
总结:
1.原型(prototype):都有prototype属性,称之为原型 原型可以放一些属性和方法,共享给实例对象 原型可以做继承
2.原型链:都有__proto__属性,该属性指向它的原型对象(prototype);原型对象也是对象,凡是对象都有__proto__属性,指向原型对象的原型对象,这样一层一层形成的,最顶层找不到则返回null。