//例子: //人,都有姓名,性别,年龄, 吃饭, 睡觉, 玩 //学生,都有姓名,性别,年龄, 成绩, 吃饭, 睡觉, 玩 ,学习的行为 //js中经过原型来实现继承 function Person(name, age, sex) { this.name = name; this.sex = sex; this.age = age; } Person.prototype.eat = function () { console.log("人能够吃东西"); }; Person.prototype.sleep = function () { console.log("人在睡觉"); }; Person.prototype.play = function () { console.log("生活就是不同的玩法而已"); }; function Student(score) { this.score = score; } //改变学生的原型的指向便可==========>学生和人已经发生关系 Student.prototype = new Person("小明", 10, "男"); Student.prototype.study = function () { console.log("学习很累很累的哦."); }; //相同的代码太多,形成了代码的冗余(重复的代码) var stu = new Student(100); console.log(stu.name); console.log(stu.age); console.log(stu.sex); stu.eat(); stu.play(); stu.sleep(); console.log("下面的是学生对象中本身有的"); console.log(stu.score); stu.study();
改变学生的原型的指向后==========>学生和人已经发生关系,产生原型链,则学生里面有人的属性和方法以及本身的属性和方法