博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript练习-定义子类
阅读量:5239 次
发布时间:2019-06-14

本文共 1151 字,大约阅读时间需要 3 分钟。

function defineSubclass(superclass,  //父类的构造函数                        constructor,  //新的子类的构造函数                        methods,      //实例方法:复制至原型中                        statics)      //类属性:复制至构造函数中{  //建立子类的原型对象  constructor.prototype = inherit(superclass.prototype);  constructor.prototype.constructor = constructor;  //像对常规类一样复制方法和类属性  if(methods) extend(constructor.prototype,methods);  if(statics) extend(constructor,statics);  return constructor;}function inherit(p){  if(!p){
throw TypeError();} if(Object.create){Object.create(p);} var t = typeof p; if(t !== "object" && t !== "function") { throw TypeError(); } function f(){}; f.prototype = p; return new f();}function extend(proto,methods){ proto[methods] = methods(); return proto;}function Person(name,age){ this.name = name; this.age = age;}Person.prototype.eat = function(){alert("eat!");}function Student(){}defineSubclass(Person,Student,function learn(){alert("learn!");})

 

//通过父类构造函数的方法来做到这一点
Function.prototype.extend = function(constructor,methods,statics){  return defineSubclass(this,constructor,methods,statics);}

 

转载于:https://www.cnblogs.com/zjtTT/p/5055616.html

你可能感兴趣的文章
解决ping 127.0.0.1不通的问题
查看>>
node(规则引擎)
查看>>
实验二
查看>>
第九章 内存模型和名称空间
查看>>
数据结构之内部排序个人总结
查看>>
Linux常用三十七条指令
查看>>
一个采集邮箱的网络爬虫(听毕老师讲的)
查看>>
ItemsControl的应用
查看>>
Microsoft Prism安装使用教程 搭建WPF松耦合架构框架
查看>>
小识Tableau
查看>>
linux下tomcat服务的启动、关闭与错误跟踪
查看>>
noip2006 能量项链
查看>>
gradle 国内加速,修改镜像源
查看>>
文件的压缩解压与归档
查看>>
Linux入门第一天——基本概述与环境搭建
查看>>
防雪崩利器:熔断器 Hystrix 的原理与使用
查看>>
CentOS 7 开放3306端口访问
查看>>
hbase shell 常用命令
查看>>
面试总结【1】
查看>>
学习笔记——gauss消元法
查看>>