`
yahaitt
  • 浏览: 755353 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

ExtJs关于Ext.extend()的说明

阅读更多
Ext.extend方法是用来实现类的继承。
extend(Object subclass,Object superclass,[Object overrides] : Object
第一个参数:子类
第二个参数:父类
第三个参数:要覆盖的属性。
这里需要强调一下,子类继承下来的是父类中通过superclass.prototype方式定义的属性(包括用此方法定义的函数)。
例子如下:
<script type="text/javascript">
			function S(){
			}
			S.prototype.s = "s";
			S.prototype.s1 = "s1";
			function C(){
				this.c = "c";
				this.c1 = "c1";
			}
			Ext.extend(C,S,{s1:"by c overload"});
			var c = new C();
			alert(c.s); //s
			alert(c.s1); //by c overload
		</script>

如果按下面这个方式写就会提示c.s没有定义(undefind):
<script type="text/javascript">
			function S(){
				this.s = "s";
				this.s1 = "s1";
			}
			function C(){
				this.c = "c";
				this.c1 = "c1";
			}
			Ext.extend(C,S,{s1:"by c overload"});
			var c = new C();
			alert(c.s); //undefind
			alert(c.s1); //by c overload
		</script>


也可以通过如下方式来实现类的继承
<script type="text/javascript">
			function S(){
			}
			S.prototype.s = "s";
			S.prototype.s1 = "s1";
			C = Ext.extend(S,{s1:"by c overload"});
			var c = new C();
			alert(c.s); //s
			alert(c.s1); //by c overload
		</script>

此时,C是子类,S是父类
分享到:
评论
9 楼 paladin1988 2012-09-04  
恩,简单明了。。
感谢了,呵呵,转载了。。
8 楼 simen2008 2011-09-01  
           
7 楼 tyut8518 2010-02-25  
很明白的 谢谢
6 楼 mymani 2010-01-29  
看了之后才知道,原来还有这样的继承方式
5 楼 gkuiyj 2009-07-17  
恩  不错! 一眼就能明白
4 楼 chunyou128 2008-12-07  
3 楼 zhw511006 2008-11-20  
b.superclass.constructor.call(this, id);
这个在子类中不用加
2 楼 huochai 2008-11-10  
简单明了,
简单明了。
1 楼 mogen9999 2008-05-28  
非常好非常好非常好非常好非常好

相关推荐

    Extjs 继承Ext.data.Store不起作用原因分析及解决

    关于这个原因有很多种,我只说下我遇到的 我这样 写Store来复用的 代码如下: DocStore = Ext.extend(Ext.data.Store,{ initComponent:function(){ this.proxy = new Ext.data.HttpProxy({url:this.url}); this....

    Ext.ux.UploadDialog

    Most configuration options are inherited from Ext.Window (see ExtJs docs). The added ones are: url - the url where to post uploaded files. base_params - additional post params (default to {}). ...

    精通JS脚本之ExtJS框架.part2.rar

    14.1 利用Ext.extend实现继承 14.2 与ExtJS扩展相关的预备知识 14.2.1 定义命名空间 14.2.2 使用xtype 14.3 用户扩展和插件 14.3.1 编写自定义用户扩展 14.3.2 常用插件UploadDialog 14.3.3 常用插件...

    精通JS脚本之ExtJS框架.part1.rar

    14.1 利用Ext.extend实现继承 14.2 与ExtJS扩展相关的预备知识 14.2.1 定义命名空间 14.2.2 使用xtype 14.3 用户扩展和插件 14.3.1 编写自定义用户扩展 14.3.2 常用插件UploadDialog 14.3.3 常用插件...

    Ext Js权威指南(.zip.001

    2.5 关于ext.blank_image_url / 40 2.6 关于字体 / 42 2.7 ext js 4语法 / 42 2.8 本地化 / 60 2.9 为本书示例准备一个模板 / 60 2.10 本章小结 / 61 第3章 调试工具及技巧 / 62 3.1 使用firebug进行调试 / ...

    ExtJs中简单的登录界面制作方法

    一 首先请看图片 二 登陆界面Ext代码 代码如下: /// ”... //主应用程序 XQH.ExtJs.Frame.app = function() { } Ext.extend(XQH.ExtJs.Frame.app, Ext.util.Observable, { LoginLogo:new Ext.

    Ext grid合并单元格

    MyGridView=Ext.extend(Ext.grid.GridView,{ renderHeaders : function(){ var cm = this.cm, ts = this.templates; var ct = ts.hcell,ct2=ts.mhcell; var cb = [], sb = [], p = {},mcb=[]; for(var i = 0...

    ExtJs GridPanel简单的增删改实现代码

    1.首先看下效果图: 2.ext代码 代码如下: /// ”... Ext.extend(XQH.ExtJs.Frame.RoleManage, Ext.util.Observable, { init: function() { //表单 addForm = new

    EXTJS5 实现一个只能选择年月的控件

    在开发过程中,遇到仅需要Extjs选择年月的控件,在国内搜索了些资源,因为Extjs5还未普遍开来加上很多UI框架的诞生,似乎关于Extjs5的资源很少。 在StackFlow搜索到了自己想要的答案,今天放在这里和大家一起分享。 ...

    Extjs4.0一些常见入门学习范例带注释详解

    extend : 'Ext.Window', title : 'welcome!', initComponent : function() { this.items = [{ xtype : 'textfield', name : 'tfName', fieldLabel : 'Enter your name' }], this.callParent(arguments); } }); var ...

    ExtJs原生批量上传+实时进度

    extend: 'Ext.window.Window', height: 400, width: 700, title: '文件上传', closeAction: 'hide', maximizable: true, layout: 'fit', uploadParams: null, initComponent: function() { var me = ...

    Extjs中ComboBoxTree实现的下拉框树效果(自写)

    最近涉及到的一个项目中,需要实现ComboBoxTree的效果,首先,看看效果吧…… 在Extjs中是没有这种效果的,所以得自己写,在网络上看了看别人的资料,自己再总结了一下,修改了一下,代码如下: 代码如下: Ext.ux....

    ExtJS的extend(Ext Designer的使用)

    NULL 博文链接:https://lggege.iteye.com/blog/602587

    extjs-node:在NodeJS上运行的ExtJS4

    完整的库,包括一个可以在NodeJS上运行的适配器 不需要DOM 使用原始的Ext.require函数(工作依赖系统) 安装:npm install ... extend : "Ext.data.Model" , fields : [ 'name' ] , proxy : { type : 'memory'

    深入浅析Extjs中store分组功能的使用方法

    在项目实践的过程中,遇到需要将grid...extend: 'Ext.data.Model', fields: ['name', 'sex'] }); 在这个数据模型中,我们需要以性别(sex)分组,那么请看下面的store JavaScript代码 var PersonStore = Ext.create('Ex

    extjs-desktop

    MyDesktop.Test = Ext.extend(Ext.app.Module, { id:'bb-cc',//DIV中的ID值 init : function(){ this.launcher = { text: 'abcdefg',//菜单中显示的文本 iconCls:'tabs', handler : this.createWindow, ...

    extjs 为某个事件设置拦截器

    } Ext.extend(person, Ext.util.Observable, { info: function(event) { return this.name + ‘is’ + event + ‘ing.’; } }); var person = new person(‘张铭诺’); person.on(‘walk’, function() { Ext.Msg....

    ext-2.3.0+CKEditor 3.0.1+ckfinder_asp_1.4配置详解及工程源码

    Ext.extend(Ext.form.CKEditor, Ext.form.TextArea, { onRender : function(ct, position){ if(!this.el){ this.defaultAutoCreate = { tag: "textarea", autocomplete: "off" }; } Ext.form.TextArea....

    extjs图形绘制之饼图实现方法分析

    extend: 'Ext.panel.Panel', autoScroll : true, initComponent: function () { var me = this; me.store = me.createStore(); me.grid = me.getGridPanel(); me.mainPanel = Ext.create('Ext.p

    Extjs中通过Tree加载右侧TabPanel具体实现

    左侧的功能树 代码如下: Ext.define(“AM.view.SystemTree”, { extend : ‘Ext.tree.Panel’, alias : ‘widget.systemTree’, rootVisible : false,// 不展示ROOT displayField : ‘text’, // title:’物流运输...

Global site tag (gtag.js) - Google Analytics