Javascript面向对象之四 继承


Posted in Javascript onFebruary 08, 2011
var JsObject = {} || new Object(); 
JsObject.extend = function(subClass, superClass){ 
 //先判断子类subClass是否已经定义,如果未定义,则重新定义类。 

if(typeof subClass == "undefined")subClass = function(){}; 

  //如果父类superClass是类,则转化成对象 

 if(typeof superClass == "function")superClass = new superClass(); 

 //遍历父类superClass对象中的属性和方法 
for(var p in superClass) 
{ 


 /*将父类superClass对象中的属性和方法复制到子类prototype对象中, 


 因此子类拥有父类的所有特性,即为继承 */
  
subClass.prototype[p] = superClass[p]; 
} 
return subClass; 
}; 
function Student() 
{ 
this.name = "张三"; 
this.updateName = function(name){ 
this.name = name; 
} 
} 
function Class1() 
{ 
this.sex = "男"; 
this.updateSex = function(sex){ 
this.sex = sex; 
} 
} 
//定义类Class1继承Student类 
Class1 = JsObject.extend(Class1, Student); 
var obj = new Class1(); 
alert(obj.sex); 
alert(obj.name); 
obj.updateSex("女"); 
obj.updateName("玛丽"); 
alert(obj.sex); 
alert(obj.name);

结果显示:男,张三,女,玛丽
Javascript 相关文章推荐
超强的IE背景图片闪烁(抖动)的解决办法
Sep 09 Javascript
JavaScript 新手24条实用建议[TUTS+]
Jun 21 Javascript
jQuery回车实现登录简单实现
Aug 20 Javascript
jQuery操作Select的Option上下移动及移除添加等等
Nov 18 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 Javascript
jQuery UI插件实现百度提词器效果
Nov 21 Javascript
js中常用的Math方法总结
Jan 12 Javascript
jQuery插件HighCharts绘制2D金字塔图效果示例【附demo源码下载】
Mar 09 Javascript
AngularJS实现的输入框字数限制提醒功能示例
Oct 26 Javascript
JavaScript引用类型Date常见用法实例分析
Aug 08 Javascript
基于JavaScript 实现拖放功能
Sep 12 Javascript
vue router 动态路由清除方式
May 25 Vue.js
javascript面向对象之二 命名空间
Feb 08 #Javascript
javascript中的对象创建 实例附注释
Feb 08 #Javascript
kmock javascript 单元测试代码
Feb 06 #Javascript
一次失败的jQuery优化尝试小结
Feb 06 #Javascript
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 #Javascript
基于jQuery的自动完成插件
Feb 03 #Javascript
jQuery初学:find()方法及children方法的区别分析
Jan 31 #Javascript
You might like
浅谈php中include文件变量作用域
2015/06/18 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
python爬取m3u8连接的视频
2018/02/28 Python
python和shell获取文本内容的方法
2018/06/05 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
Python调用.NET库的方法步骤
2019/12/27 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
P/Invoke是什么
2015/07/31 面试题
师德个人剖析材料
2014/02/02 职场文书
财产公证书
2014/04/10 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
家庭贫困证明
2015/06/16 职场文书
羊脂球读书笔记
2015/06/30 职场文书
文明礼仪主题班会
2015/08/13 职场文书