-
在企业开发中, 如果构造函数和构造函数之间的关系是 is a 的关系, 那么就可以使用继承来优化代码, 来简化代码的冗余度, 如: 学生 is a 人, 学生是一个人
-
第一种继承方式就是通过修改当前对象的原型对象为需要继承的对象, 如当前的对象是学生, 学生是人, 所以可以继承人的属性, 这里的人就是需要继承的对象
function Person() { this.name = null; this.age = 0; this.say = function () { console.log(this.name, this.age); } } let per = new Person(); // 在企业开发中, 如果构造函数和构造函数之间的关系是is a的关系, 那么就可以使用继承来优化代码, 来简化代码的冗余度 // 学生 is a 人, 学生是一个人 function Student() { this.study = function () { console.log("day day up"); } } // 修改stu实例对象的原型对象为per实例对象 Student.prototype = new Person(); Student.prototype.constructor = Student; let stu = new Student(); stu.name = "zs"; stu.age = 18; stu.say(); // zs 18 stu.study(); // day day up
-
-
继承方式一弊端
-
父类可以在创建对象的时候传参, 子类不可以, 所以在企业开发中, 这种继承方式并不常见
function Person(myName, myAge) { // 父类可以传这两个参 this.name = myName; this.age = myAge; this.say = function () { console.log(this.name, this.age); } } let per = new Person("lnj", 34); per.say(); // 学生 is a 人, 学生是一个人 // 在这里只能找到myScore, 找不到myName, myAge // 所以继承方式一的弊端就是没法在创建Student对象的时候, 同时给它指定myName, myAge属性 function Student(myName, myAge, myScore) { // 子类不能传这两个参 this.score = 0; this.study = function () { console.log("day day up"); } } // 执行到这的时候才能找到myName, myAge Student.prototype = new Person(); Student.prototype.constructor = Student;
-
66-继承方式一
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 1、构造函数模式 [url=]file:///C:/Users/i037145/AppData/Local/Tem...