js类的继承定义与用法分析

作者:学习笔记666 时间:2024-04-22 22:34:07 

本文实例讲述了js类的继承定义与用法。分享给大家供大家参考,具体如下:

如何实现类的继承呢?

有如下2个构造函数:


function PeopleClass(){
 this.type = "人";
};
PeopleClass.ptototype = {
 getType:function(){
   alert("这是一个人");
 }
};
function StudentClass(name,sex){
 this.name = name;
 this.sex = sex;
};

如何让『学生』对象来继承『人』对象呢?可使用apply方法将父对象的构造函数绑定在子对象上,代码如下:


function PeopleClass(){
 this.type = "人";
};
PeopleClass.ptototype = {
 getType:function(){
   alert("这是一个人");
 }
};
function StudentClass(name,sex){
 PeopleClass.apply(this,arguments);
 this.name = name;
 this.sex = sex;
};
var stu = new StudentClass("lily","男");
alert(stu.type); //[人]

从运行的结果来看,StudentClass继承了PeopleClass的属性『人』。

而方法的继承,只要循环使用父对象的prototype进行复制,即可达到继承的目的。方法如下:


function StudentClass(name,sex){
 PeopleClass.apply(this,arguments);
 var prop;
 for(prop in PeopleClass.prototype){
   var proto = this.constructor.prototype;
   if(!proto[prop]){
     proto[prop] = PeopleClass.prototype[prop];
   }
   proto[prop]["super"] = PeopleClass.prototype;
 }
 this.name = name;
 this.sex = sex;
};
var stu = new StudentClass("lily","女");
alert(stu.type); //[人]
stu.getType(); //[这是一个人]

希望本文所述对大家JavaScript程序设计有所帮助。

来源:https://blog.csdn.net/github_26672553/article/details/51280445

标签:js,类,继承
0
投稿

猜你喜欢

  • Js 按照MVC模式制作自定义控件

    2008-10-12 12:11:00
  • Pytorch损失函数torch.nn.NLLLoss()的使用

    2021-02-07 16:08:57
  • Mysql升级到5.7后遇到的group by查询问题解决

    2024-01-16 12:17:50
  • python基于moviepy实现音视频剪辑

    2023-08-21 14:56:47
  • python正则分组的应用

    2022-05-24 20:50:39
  • 玩转表单之花样表单

    2011-04-25 19:17:00
  • Python 语句的表达式和缩进

    2023-11-26 18:28:24
  • tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式

    2023-04-25 04:15:56
  • python接入使用百度翻译流程

    2022-11-26 01:01:43
  • linux centos7安装mysql8的教程

    2024-01-20 21:52:11
  • 简述:我为什么选择Python而不是Matlab和R语言

    2021-05-13 06:51:27
  • 基于Python制作一款屏幕颜色提取器

    2023-11-16 05:20:48
  • python requests模拟登陆github的实现方法

    2022-10-05 21:37:48
  • 用Python生成会跳舞的美女

    2023-04-04 11:52:09
  • python读取nc数据并绘图的方法实例

    2023-09-16 10:08:19
  • Python Selenium XPath根据文本内容查找元素的方法

    2022-02-18 12:55:16
  • MySQL存储引擎MyISAM与InnoDB区别总结整理

    2024-01-15 13:18:22
  • Python中条件语句、循环语句和pass语句的使用示例

    2021-05-13 23:23:27
  • MySQL 查询缓存的实际应用代码示例

    2010-06-11 12:04:00
  • Go语言的反射机制详解

    2024-05-09 14:58:51
  • asp之家 网络编程 m.aspxhome.com