javascript中最简单的继承

simplest inheritance in javascript?

本文关键字:继承 最简单 javascript      更新时间:2023-09-26

我正在尝试在javascript中使用OOP。我正在尝试的是

我有两个类,即classAclassB。我继承了B班中的A班。类似:

 function classA(){
    this.propA = "somevalue of A";
 }
 function classB(){
    classB.prototype = new classA();              //inheriting
    classB.prototype.constructor = classB;        //updating constructor defination
    this.propB = "somevalue of B";
 }

现在我创建了类B:的对象

var classBObject = new classB();

以及尝试使用访问基类属性值

alert(classBObject.propA);      //here i am expecting "somevalue of A"

但警报显示我是空的。有人能告诉我我在这里做错了什么吗?

将classB的原型赋值移到构造函数之外:

function classA(){
    this.propA = "somevalue of A";
 }
 function classB(){
    // classB.prototype.constructor = classB;
    // ^ no need for this, constructor will be overwritten
    //   by classB.prototype = new classA
    this.propB = "somevalue of B";
 }
 classB.prototype = new classA; // assing prototype for classB here