Javascript 面向对象 继承


Posted in Javascript onMay 13, 2010
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 相关文章推荐
通过DOM脚本去设置样式信息
Sep 19 Javascript
JavaScript中的eval()函数详解
Aug 22 Javascript
使用Jquery实现点击文字后变成文本框且可修改
Sep 21 Javascript
js数组转json并在后台对其解析具体实现
Nov 20 Javascript
js关于字符长度限制的问题示例探讨
Jan 24 Javascript
javascript编写贪吃蛇游戏
Jul 07 Javascript
js实现登陆遮罩效果的方法
Jul 28 Javascript
详解JS-- 浮点数运算处理
Nov 28 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
Jan 10 Javascript
bootstrap警告框示例代码分享
May 17 Javascript
React diff算法的实现示例
Apr 20 Javascript
vue自定义指令的创建和使用方法实例分析
Dec 04 Javascript
Javascript 面向对象 对象(Object)
May 13 #Javascript
Javascript 面向对象 命名空间
May 13 #Javascript
javascript 面向对象 function类
May 13 #Javascript
该如何加载google-analytics(或其他第三方)的JS
May 13 #Javascript
Javascript 面向对象 继承
May 13 #Javascript
Javascript 面向对象 重载
May 13 #Javascript
JavaScript 面向对象的 私有成员和公开成员
May 13 #Javascript
You might like
回答PHPCHINA上的几个问题:URL映射
2007/02/14 PHP
深入理解PHP原理之异常机制
2010/08/21 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
php给每个段落添加空格的方法
2015/03/20 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
angular或者js怎么确定选中ul中的哪几个li
2017/08/16 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
Java程序员综合测试题
2014/04/25 面试题
考试退步检讨书
2014/01/15 职场文书
乔迁宴答谢词
2014/01/21 职场文书
学校后勤岗位职责
2014/02/19 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
小学学校评估方案
2014/06/08 职场文书
建筑结构施工求职信
2014/07/11 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
全陪导游词
2015/02/04 职场文书
焦点访谈观后感
2015/06/11 职场文书
运动会开幕式主持词
2015/07/01 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
PyTorch device与cuda.device用法
2022/04/03 Python
vue递归实现树形组件
2022/07/15 Vue.js