使用使用构造函数结合原型定义一个学生对象类,学生信息包括:姓名,学号,年龄,班级信息等,在原型上定义几个方法。生成一个学生对象并调用几个方法。
1条回答 默认 最新
关注 // 父类 function StudentInfo(params) { this.name = '小明' this.sex = '男' this.age = '18' this.grade = '一班' } // 原型上添加方法 StudentInfo.prototype.call = function () { console.log('我的名字叫' + this.name) } //构造函数 function Student(params) { //构造方法继承 StudentInfo.apply(this, params) } // 原型链继承 Student.prototype = new StudentInfo() // 创造两个实例 const student1 = new Student() const student2 = new Student() // 实例自己的数据 student1.name = '小红' student1.call()//我的名字叫小红 student2.call()//我的名字叫小明
只看代码不加深理解可不好,我对js的继承做了总结,这里的问题是涉及其中的组合继承,欢迎有空来我的博客进行学习
本文链接:js 7种继承方式详解_在下月亮有何贵干的博客-CSDN博客 目录前言原型链继承构造函数继承组合继承原型式继承寄生式继承寄生组合继承类的继承前言首先学习继承之前,要对原型链有一定程度的了解。不了解可以去先阅读我另一篇文章,里面对原型链有一个较为详细的说明:js 原型链详解。不了解call、apply方法的用法的话如果已经了解请继续。原型链继承父类作为子类的原型,子类作为构造函数,两个实例,很好理解,实例会拥有原型链上的属性。 //父类(原型) function father() { this.fatherAttr = ["fa https://blog.csdn.net/weixin_43877799/article/details/120342960本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料