美文网首页
JS-Object 原型式继承

JS-Object 原型式继承

作者: Remeo | 来源:发表于2018-03-14 18:17 被阅读0次

    如何创建一个继承自另一个对象的JavaScript对象呢?

    1. 定义一个只定义了一些属性的Person构造器
    function Person(first, last, age, gender, interests){
      this.name = {
        first,
        last
      };
      this.age = age;
      this.gender = gender;
      this.interests = interest;
    }
    
    1. 所有方法都定义在构造器的prototype属性上。
    Person.prototype.greeting = function(){
      alert('Hi! I \'m ' + this.name.first + '.');
    }
    
    1. 创建一个Teacher类,这个类会继承Person的所有成员,同时页包括:
      • 一个新的属性,subject--这个属性包含了教师教授的科目
      • 一个被更新的greeting()方法,这个方法打招呼听起来比一般的greeting()更正式一点。
    function Teacher(first, last, age, gender, interests, subject){
      Person.call(this, first, last, age, gender, interests);
      this.subject = subject;
    }
    
    1. Teacher() 从Person()的原型对象里继承方法:
      Teacher.prototype = Object.create(Person.prototype);
      现在Teacher()prototypeconstructor属性指向的是Person().
    2. 这或许会造成很大的问题,所以我们需要将其正确的设置--在底下加上一行代码来解决:
      Teacher.prototype.constructor = Teacher;

    相关文章

      网友评论

          本文标题:JS-Object 原型式继承

          本文链接:https://www.haomeiwen.com/subject/xggpfftx.html