Extjs中使用extend(js继承) 的代码


Posted in Javascript onMarch 15, 2012

注:抄<深入浅出Extjs>书
传统的js实现继承操作为:
一:定义一个父类

var BaseClass = function(){ 
//..... 
}; 
BaseClass.prototype.someMethod = function(){ 
//..... 
}; 
BaseClass.prototype.overridenMethod = function(){ 
//.... 
}

为BaseClass定义两个函数someMethod 和overridenMethod ,,然后定义一个subClass子类,可以直接从BaseClass中继承所有的属性和函数,
var subClass = function(){ 
BaseClass.call(this); 
}; 
subClass.prototype = new BaseClass(); 
subClass.prototype.newMethod = function(){ 
//... 
}; 
subClass.prototype.overridenMethod = function(){ 
//... 
}

在上面的代码中,subClass的构造函数首先调用BaseClass的构造函数初始化数据,然后通过subClass.prototype = new BaseClass();这条语句让subClass类获得BaseClass中的所有属性和函数。这样就实现了继承。在此之后我们就可以操作subClass的prototype,为子类添加新的函数或者覆写父类的同名函数。
在EXT中使用Ext.extend()函数实现继承功能的方法:
var subClass = function(){ 
subClass.superclass.costructor.call(this); 
}; 
Ext.extend(subClass, BaseClass,{ 
newMethod: function(){ 
//... 
}, 
overridenMethod : function(){ 
//.... 
} 
});

在Ext.extend()函数通过 subClass.superclass.costructor.call(this);就可以直接调用父类的构造函数。这个函数的第一个参数总是this, 以确保父类的构造函数在子类的作用域里工作。
如果父类的构造函数需要传入参数,我们也就可以将所需要的参数直接传给它,如:
subClass.superclass.costructor.call(this, config);
这样我们就得到了一个继承了父类的所有属性和函数的子类。
Javascript 相关文章推荐
Google Suggest ;-) 基于js的动态下拉菜单
Oct 11 Javascript
js window.event对象详尽解析
Feb 17 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
Aug 13 Javascript
关于img的href和src取变量及赋值的方法
Apr 28 Javascript
Windows8下搭建Node.js开发环境教程
Sep 03 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
May 24 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
May 27 Javascript
Vue.js计算属性computed与watch(5)
Dec 09 Javascript
JavaScript实现星级评分
Jan 12 Javascript
js实现二级导航功能
Mar 03 Javascript
javascript高仿热血传奇游戏实现代码
Feb 22 Javascript
JS字符串去除连续或全部重复字符的实例
Mar 08 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
Mar 15 #Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
Mar 14 #Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
Mar 14 #Javascript
javascript 进阶篇2 CSS XML学习
Mar 14 #Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
Mar 14 #Javascript
javascript 基础篇4 window对象,DOM
Mar 14 #Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
Mar 14 #Javascript
You might like
用PHP和ACCESS写聊天室(四)
2006/10/09 PHP
第七章 php自定义函数实现代码
2011/12/30 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
简单实现jQuery轮播效果
2017/08/18 jQuery
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
[02:10]探秘浦东源深体育馆 DOTA2 Supermajor不见不散
2018/05/17 DOTA
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
小车司机岗位职责
2013/11/25 职场文书
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
广播体操比赛口号
2014/06/10 职场文书
司考复习计划
2015/01/19 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
机器人总动员观后感
2015/06/09 职场文书
茶花女读书笔记
2015/06/29 职场文书
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android