💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
JS要实现继承,有非常多的方式,除了下面列举的三种以外,还有for…in可以实现继承。ES6中有extends关键字,可以实现继承。 # 1、冒充继承 案例中定义两个构造函数(类),父类中定义几个成员,然后让子类的实例去调用。如果调用成功,表示实现了继承。 ``` 父类.call(子类的对象, 其他参数); //意思是让子类的对象,去代替父类中的this。 ``` ![](https://img.kancloud.cn/c3/2e/c32ef229a78e562afe2649056ca00732_734x395.png) 这种实现继承的方式,是不能继承原型对象上的成员的: ![](https://img.kancloud.cn/1d/4a/1d4aae9838bd277325fc5b62d393f957_938x335.png) # 2、原型链继承 ![](https://img.kancloud.cn/77/85/7785bd62ae5ed50777f03fd6b2242c16_383x294.png) ![](https://img.kancloud.cn/39/2c/392c3b223b6a44aee632a6bdee125321_860x372.png) # 3、create()继承 create()是IE9才开始支持的。 var 新对象 = Object.create(原型对象); 该方法就是用于指定原型对象的。所以就可以直接使用create方法实现继承。 ![](https://img.kancloud.cn/86/9c/869cca47bc5fbff1be8c855d611d5827_875x226.png)