-
在企业开发中, 如果构造函数和构造函数之间的关系是 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...