javascript实现继承的方式有哪些
一、将子类的原型 prototype 指向父类的实例对象来实现父类属性和方法的继承
如图所示,实例化Child并赋值给me,firstName为GrandFather原型链的属性,但是me可以顺着Child的原型链一层一层查找到firstName属性。因为me本身具有name属性所以不继续向上查找。
当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。
原型链查找顺序:me--->Child.prototype ---> Child.prototype.__proto__ --->undefined
二、使用函数的call、apply、bind方法实现继承(准确来说是借用别的函数的属性)
具体实现继承的方式参见https://www.cnblogs.com/tsl0324/p/14556853.html可以直接拉到末尾看。
三、使用es6的class extends实现继承