Ext_继承_Ext.extend

/* Ext.extend继承 Ext.extend(要继承的Ext父类,子类自定义配置信息) */ //创建命名空间 Ext.namespace("My.Control"); My.Control.Window = Ext.extend(Ext.Window, { //子类的构造函数,参数为示例化子类时传入自定义配置信息 constructor:function(config){ var myConfig = Ext.apply( { //指定子类的默认属性 draggable:true, //允许拖动 modal:false, //显示不对后面一切内容遮罩 closable:true, //允许关闭 closeAction:'hide', //关闭执行的操作 width:100, height:100 }, config //为实例化My.Control.Window(...)时接收到得新配置项,将覆盖子类默认属性 ); //调用父类构造函数,用子类配置项去完成初始化 My.Control.Window.superclass.constructor.call(this,myConfig); }, //子类自定义方法 myAlert:function(config){ alert("我是子类My.Control.Window,我派生于Ext.Window,这是我的方法"); }, //子类重写show()方法 show:function(){ alert("子类重写show()方法"); //this.show(); 将无限递归调用^-^ //调用父类中的show方法显示My.Control.Window My.Control.Window.superclass.show.call(this); } } ); //实例化子类对象 var myW = new My.Control.Window({ title:'实例化子类My.Control.Window', //此处将添加到子类的默认配置属性中 modal:true //此处配置属性将覆盖子类中定义的默认配置属性modal:false });

<a href="javascript:myW.show()" mce_href="javascript:myW.show()">我的子类</a> <a href="javascript:myW.myAlert()" mce_href="javascript:myW.myAlert()">我的子类方法</a>

你可能感兴趣的:(JavaScript,function,ext,Constructor)