js对象继承

Posted 行动派

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js对象继承相关的知识,希望对你有一定的参考价值。

 一般继承是出现的问题

    function people(name,sex){
      this.name=name;
      this.sex=sex;
    }
    people.prototype.showname=function(){
      alert(this.name);
    }
    function student(name,sex,job){
      people.call(this,name,sex);
      this.job=job;
    }
    student.prototype = people.prototype;//对象赋给对象,就会出现对象的引用,如果子类原型添加一个方法,父类就会受影响
    var p1=new people(‘jack‘,32);
    var s1=new student(‘jenny‘,24,‘student‘);
    console.log(p1);
    console.log(s1);

拷贝继承

  function people(name,sex){
      this.name=name;
      this.sex=sex;
    }
    people.prototype.showname=function(){
      alert(this.name);
    }
    function student(name,sex,job){
      people.call(this,name,sex);//属性继承:调用父类的构造函数
      this.job=job;
    }

    extend(student.prototype,people.prototype);//拷贝继承,利用for in 实现方法的继承
    student.prototype.showjob=function(){
      alert();
    }
    function extend(obj1,obj2){
      for (var attr in obj2) {
        obj1[attr]=obj2[attr];
      }
    }
    var p1=new people(‘jack‘,32);
    var s1=new student(‘jenny‘,24,‘student‘);

    console.log(p1);
    console.log(s1);

 

 

 

以上是关于js对象继承的主要内容,如果未能解决你的问题,请参考以下文章

js代码片段

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

java 代码片段

JS面向对象---继承

关于js的对象原型继承