Javascript教程
JavaScript基础
JavaScript Objects
JavaScript BOM
JavaScript DOM
JavaScript OOP
JavaScript Cookies
JavaScript事件
JavaScript异常
JavaScript常用

JavaScript继承

JavaScript继承是一种机制,使我们可以在现有类的基础上创建新类。它为子类提供了灵活性,可以重用父类的方法和变量。
JavaScript extends 关键字用于在父类的基础上创建子类。 。它有助于子类获取其父类的所有属性和行为。

要记住的要点

它保持IS-A关系。 extends关键字用于类表达式或类声明中。 使用extends关键字,我们可以获得内置对象以及自定义类的所有属性和行为。 我们还可以使用基于原型的方法来实现继承。

JavaScript扩展示例:内置对象

在此示例中,我们扩展了 Date 对象以显示今天的日期。
<script>
class Moment extends Date {
  constructor() {
    super();
  }}
var m=new Moment();
document.writeln("当前日期:")
document.writeln(m.getDate()+"-"+(m.getMonth()+1)+"-"+m.getFullYear());
</script>
输出:
当前日期:31-8-2018
让我们再看一个示例,以显示给定日期的年份值。
<script>
class Moment extends Date {
  constructor(year) {
    super(year);
  }}
var m=new Moment("August 15, 1947 20:22:10");
document.writeln("年份是:")
document.writeln(m.getFullYear());
</script>
输出:
年份是:1947

JavaScript扩展示例:自定义类

在此示例中,我们声明了扩展其父类属性的子类。
<script>
class Bike
{
  constructor()
  {
    this.company="Honda";
  }
}
class Vehicle extends Bike {
  constructor(name,price) {
   super();
    this.name=name;
    this.price=price;
  }
}
var v = new Vehicle("Shine","70000");
document.writeln(v.company+" "+v.name+" "+v.price);
</script>
输出:
Honda Shine 70000

JavaScript扩展示例:基于原型的方法

在这里,我们执行基于原型的继承。这种方法不需要使用class和extends关键字。
<script>
//Constructor function
function Bike(company)
{
    this.company=company;
}
Bike.prototype.getCompany=function()
{
  return this.company;
}
//Another constructor function
function Vehicle(name,price) {
 this.name=name;
  this.price=price;
  }
var bike = new Bike("Honda");
Vehicle.prototype=bike; //Now Bike treats as a parent of Vehicle.
var vehicle=new Vehicle("Shine",70000);
document.writeln(vehicle.getCompany()+" "+vehicle.name+" "+vehicle.price);
</script>
输出:
Honda Shine 70000
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4