相信很多伙伴初学js时都被这俩搞得晕头转向,云里雾里,其实要掌握这俩属性,就要知道他们为什么存在,为什么我们需要这两个属性呢,他们发挥了什么用处呢
我们知道ECMS是没有类的概念的,那么如何实现继承呢?
靠的就是**proto**这个属性,每一个对象,(js万物皆对象)都有一个__proto__属性,这个属性,其实就是一个
指针
那么他指向哪里的,指向这个对象的爹,可以理解为父类对象,父类对象里面也有指向爷爷的__proto__ 如此串起来,得到一条原型链,这便是js实现继承的方法,凡是在这条链子身上的属性和方法,这个对象都可以用
但是__proto__是怎么来的捏,又是怎么知道他爹是那个捏,这就要问prototype了,
我们知道,任何一个对象,都是构造函数创建的,在js中,任何一个函数,都可以当作构造函数,每一个函数里面都有一个prototype,这个属性是干啥的呢?