+
95
-

回答

// 基类
var Person = function (name, age) {
  this.name = name;
  this.age = age;
};

Person.prototype.test = "this is a test";
Person.prototype.testFunc = function () {
  console.log('this is a testFunc');
};

// 子类
var Student = function (name, age, gender, score) {
  // 盗用构造函数
  Person.call(this, name, age);
  this.gender = gender;
  this.score = score;
};

// 继承 Person 的原型
Student.prototype = Object.create(Person.prototype);
Student.prototype.constructor = Student;

Student.prototype.testStuFunc = function () {
  console.log('this is a testStuFunc');
};

// 测试
var zhangsan = new Student("张三", 18, "男", 100);

console.log(zhangsan.name);         // 张三
console.log(zhangsan.age);          // 18
console.log(zhangsan.gender);       // 男
console.log(zhangsan.score);        // 100
console.log(zhangsan.test);         // this is a test
zhangsan.testFunc();                // this is a testFunc
zhangsan.testStuFunc();             // this is a testStuFunc

网友回复

我知道答案,我要回答