`
yxgyh
  • 浏览: 275573 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Ext.extend()的说明

    博客分类:
  • Ext
阅读更多
Ext.extend方法是用来实现类的继承。
extend(Object subclass,Object superclass,[Object overrides] : Object
第一个参数:子类
第二个参数:父类
第三个参数:要覆盖的属性。
这里需要强调一下,子类继承下来的是父类中通过superclass.prototype方式定义的属性(包括用此方法定义的函数)。
例子如下:
Js代码 复制代码
  1. <script type="text/javascript">   
  2.             function S(){   
  3.             }   
  4.             S.prototype.s = "s";   
  5.             S.prototype.s1 = "s1";   
  6.             function C(){   
  7.                 this.c = "c";   
  8.                 this.c1 = "c1";   
  9.             }   
  10.             Ext.extend(C,S,{s1:"by c overload"});   
  11.             var c = new C();   
  12.             alert(c.s); //s   
  13.             alert(c.s1); //by c overload   
  14.         </script>  
<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):
Js代码 复制代码
  1. <script type="text/javascript">   
  2.             function S(){   
  3.                 this.s = "s";   
  4.                 this.s1 = "s1";   
  5.             }   
  6.             function C(){   
  7.                 this.c = "c";   
  8.                 this.c1 = "c1";   
  9.             }   
  10.             Ext.extend(C,S,{s1:"by c overload"});   
  11.             var c = new C();   
  12.             alert(c.s); //undefind   
  13.             alert(c.s1); //by c overload   
  14.         </script>  
<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>


也可以通过如下方式来实现类的继承
Js代码 复制代码
  1. <script type="text/javascript">   
  2.             function S(){   
  3.             }   
  4.             S.prototype.s = "s";   
  5.             S.prototype.s1 = "s1";   
  6.             C = Ext.extend(S,{s1:"by c overload"});   
  7.             var c = new C();   
  8.             alert(c.s); //s   
  9.             alert(c.s1); //by c overload   
  10.         </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是父类
分享到:
评论

相关推荐

    Ext.js核心函数详解.pdf

    6. `Ext.extend(Object subclass, Object superclass, [Object overrides])`: 这是实现JavaScript继承的关键函数。`subclass`是子类,`superclass`是父类,`overrides`是子类要覆盖或扩展父类的方法。它创建了一个新...

    jquery的extend和fn.extend的使用说明

    jQuery为开发插件提拱了两个方法,分别是: 代码如下: jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象...

    Ext树创建说明.rar

    var NodeModel = Ext.data.Model.extend({ fields: ['text'] }); Ext.create('Ext.tree.Panel', { title: '我的树', width: 200, height: 300, store: store, rootVisible: true, renderTo: Ext.getBody...

    EXT文档 不下后悔.doc

    EXT文档对于理解和使用EXT框架至关重要,它提供了EXT的组件结构、配置、资源管理和类继承等核心概念的详细说明。开发者可以借助这些知识创建高效、美观且功能丰富的Web应用。在开发过程中,根据实际情况选择适当的库...

    Ext+JS高级程序设计.rar

    9.1 利用Ext.extend实现继承 254 9.2 与Ext扩展相关的预备知识 256 9.2.1 定义命名空间 256 9.2.2 重写构造函数 257 9.2.3 继承组件的一些准备 257 9.2.4 常用的辅助函数 258 9.2.5 使用xtype 258 9.3 实现一个功能...

    ExtJs中处理后台传过来的date对象显示到页面上

    extend: 'Ext.data.Model', fields: [ {name: 'name', type: 'string'}, {name: 'birthday', type: 'date', mapping: 'birthday.time'} ] }); ``` 这里的`mapping`属性用于指定从JSON对象中提取日期的路径...

    Ext3.0 api帮助文档

    这个API帮助文档包含了详细的功能说明、示例代码和类库结构,帮助开发者更好地理解和利用Ext3.0的功能。 1. **基本概念** - **组件(Components)**: Ext3.0的核心是组件系统,它包括了各种类型如表格、面板、窗口...

    ext.js核心类的介绍

    extend 这个类的介绍,主要是对JS的继承的详细说明

    Vue组件教程之Toast(Vue.extend 方式)详解

    二、说明 这类提示框组件我们通常都会直接在 JS 代码中进行调用。像下面这样: this.$toast('别点啦,到头啦!') 但看到网上大多数还是通过 component 方式实现的,这样的话我们在使用的时候还要在 DOM 中放置一个...

    找到的ExtJS实现多选下拉框3个代码

    Ext.extend(Ext.form.field.ComboBox, { initComponent: function () { this.multiSelect = true; this.callParent(); this.on('beforequery', this.handleBeforeQuery, this); }, handleBeforeQuery: ...

    EXT中FCK的使用

    Ext.extend(MyFCKComponent, Ext.Component, { initComponent: function() { this.html = '&lt;textarea id="myFCKTextArea"&gt;&lt;/textarea&gt;'; this.callParent(); }, render: function(ctn) { this.callParent...

    Ext 2-使用Widgets

    2. **组件创建**:介绍如何创建自定义组件,包括使用`Ext.extend()`来扩展现有组件,定义新的配置选项和方法。 3. **布局管理**:讲解如何使用各种内置布局(如fit、border、form等)来组织和排列组件,确保它们...

    struts2+extjs中File的upload&download;&delete;例子及说明

    extend: 'Ext.data.Model', fields: ['id', 'name', 'url'] }); ``` - **ExtJS Store**:加载数据模型实例到Store中。 ```javascript Ext.define('App.store.Attachments', { extend: 'Ext.data.Store', ...

    easyui+增强窗体 demo_ext为实例文件

    1、tree增加支持类标准数据格式加载,具体看demo或jquery.easyui.tree.extend.js文件开头说明。 2、修复datagrid在rowediting编辑风格时点击“确定”按钮无法提交问题。 3、datagrid和treegrid增加getEditingRows...

    解决layer.prompt无效的问题

    具体来说,我们可以通过layer.use函数加载'extend/layer.ext.js'模块,并在加载成功后,通过回调函数覆盖layer.ext方法。通过这种方式,我们定义了一个新的layer.ext函数,使得layer.prompt方法变得可用。在这个新的...

    AoutCAD2004常用的快捷键.pdf

    47. ext 或者 extend:延伸对象到边界。 48. tr 或者 trim:修剪对象到边界。 49. ctrl+Z 或者 Esc:撤销上一步操作或退出当前命令。 上述列出的快捷键中,有的是单个字符,如 l 代表 line,有的是组合键,如 ALT...

    openfoam-extend-OpenFOAM-1.6-ext:git 的非官方镜像

    OpenFOAM README for version 1.6-ext # 执照 OpenFOAM 是免费软件; 您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它; 许可证的第 2 版,或(由您选择)任何更高版本。 请参阅此...

    Autodesk_CAD2007快捷键大全.pdf

    上述列表是根据文件内容整理的AutoCAD 2007部分快捷键及其功能的详细说明。在实际使用中,通过记忆并运用这些快捷键,可以大幅提高绘图的效率和流畅性。快捷键的具体使用方法通常是在键盘上按下相应的字母或组合键,...

    Extjs表单输入框异步校验的插件实现方法

    该插件使用Ext.define方法定义了一个名为FieldAjaxVerify的新类,并通过extend:'Ext.AbstractPlugin'继承自ExtJS的插件基类,实现为表单字段添加异步校验功能。 3. 插件的主要属性和功能: - buffer:配置项设置了...

Global site tag (gtag.js) - Google Analytics