`
y1d2y3xyz
  • 浏览: 252566 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

extjs源码分析-006(Ext.override/Ext.extend)

阅读更多
        override : function(origclass, overrides){//方法重载,不存在就添加,存在就覆盖原有方法
            if(overrides){
                var p = origclass.prototype;
                Ext.apply(p, overrides);//调用apply继承
                if(Ext.isIE && overrides.hasOwnProperty('toString')){
                    p.toString = overrides.toString;
                }
            }
        },
        extend : function(){//Ext继承并扩展
            // inline overrides
            var io = function(o){//把所以属性复制给io
                for(var m in o){
                    this[m] = o[m];
                }
            };
            var oc = Object.prototype.constructor;//Object的构造函数

            return function(sb, sp, overrides){
                if(typeof sp == 'object'){//当父类为object对象
                       overrides = sp;//需要继承的
                    sp = sb;
                 //为继承类设置构造函数
                    sb = overrides.constructor != oc ? overrides.constructor : function(){sp.apply(this, arguments);};
                }
                var F = function(){},
                    sbp,
                    spp = sp.prototype;

                F.prototype = spp;
                sbp = sb.prototype = new F();
                sbp.constructor=sb;
                sb.superclass=spp;
                if(spp.constructor == oc){
                    spp.constructor=sp;
                }
                sb.override = function(o){
                    Ext.override(sb, o);
                };
                sbp.superclass = sbp.supr = (function(){
                    return spp;
                });
                sbp.override = io;
                Ext.override(sb, overrides);
                sb.extend = function(o){return Ext.extend(sb, o);};
                return sb;
            };
        }()
分享到:
评论

相关推荐

    Extjs源码之--Ext事件机制/继承关系

    NULL 博文链接:https://lovebeyond.iteye.com/blog/1197784

    ExtJs学习资料28-Ext.data.JsonStore数据存储器.doc

    ExtJs学习资料28-Ext.data.JsonStore数据存储器

    extjs-Ext.ux.form.LovCombo下拉框

    extjs多选下拉框,Ext.ux.form.LovCombo,extjs 以修复多选下拉框火狐下取不到值的问题,火狐下div不显示背景色的问题

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    ExtJs入门实例

    1. ExtJs2.0学习系列(1)--Ext.MessageBox 2. ExtJs2.0学习系列(2)--Ext.Panel 3. ExtJs2.0学习系列(3)--Ext.Window 4. ExtJs2.0学习系列(4)--Ext.FormPanel之第一式 5. ExtJs2.0学习系列(5)--Ext.FormPanel之第二式 ...

    extjs-theme-bootstrap-master.zip

    extjs-theme-bootstrap-master.zip

    ext-2.2.zip

    在CDH使用oozie 的时候需要安装ext-2.2.zip; 新增和改进的功能包括: 1、FileUploadField 文件上传 体验例子见:http://extjs.com/deploy/dev/examples/form/file-upload.html 2、GMapPanel GMap扩展 体验...

    ext-4.2.1.883.jsb2

    从spket IDE 官网下载。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.*版本。spket自动提示ExtJs4,需要ext4.2.1.jsp2文件。

    json,xstream,ezmorph jar包

    //extjs的jsp标签库及使用实例 exttld1.0.zip exttldbasic.zip exttld1.0-beta.zip exttldexamples.zip //json的转换器及帮助 ezmorph-1.0.6.jar ezmorph-1.0.6-javadoc.jar //java将数据类型转为json格式及帮助 ...

    Extjs-ext-3.1.1

    Ext JS - JavaScript Library Copyright (c) 2006-2009, Ext JS, LLC All rights reserved. licensing@extjs.com http://extjs.com/license Open Source License Ext is licensed under the terms of the Open ...

    extjs4.1-ux.rar

    Extjs4.1多个扩展 1、Ext.ux.aceeditor.Panel 2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button ...主页:https://github.com/harrydeluxe/extjs-ux 注明:在Extjs4.1上是可以使用的,Extjs4.2部分会有问题。

    jasmine-node-jsdom-extjs-testing-tool:使用 jasmine-node 和 jsdom 的功能性前端 Ext.JS 测试自动化工具

    茉莉花节点jsdom-extjs-testing-tool 使用 jasmine-node 和 jsdom 的功能性前端 Ext.JS 测试自动化工具如果您已经安装了节点包模块( ),安装将为您获取所需的库。Ext.JS 设置使用 Ext.JS 包并遵循 Sencha cmd 企业...

    Spket安装及配置

    选择 “ExtJS”并点击“Add File”,然后在你的./ext-2.x/source目录中选取“ext.jsb” 文件; 3、设 置新的ExtJS Profile,选中并点击“JavaScript Profiles” 对话框右手边的“Defalut”按钮;

    extjs-basex.js

    extjs-basex.js extjs-basex.js extjs-basex.js

    ext4.js 打包 最新文件

    1Extjs打包 1.1Sencha Cmd下载 地址:https://www.sencha.com/products/extjs/cmd-download/ 注意:Extjs4.XX的只能用,Sencha Cmd 4.0.5 (Windows) 来打包,不然运行的时候会报错 需要JDK1.6 或 JDK1.7,测试用1.8...

    extjs-docs-6.0.0-classic.part01.rar

    Ext JS 6最大的变化就是将Ext JS和Touch合并为一个单一的框架。之前的框架的核心(数据、控制器、模型等等)已被调和为一个单一的公共平台。这样,数据和逻辑就能共享,从而帮助开发人员进一步去优化他们的应用程序...

    Extjs3.4+Ext-core.pdf+轻松搞定Extjs.pdf

    Extjs3.4 Ext-core.pdf 轻松搞定Extjs.pdf Extjs学习笔记 里面有3.4的开发包,附属:Ext-core.pdf 轻松搞定Extjs.pdf Extjs学习笔记

    Ext Js权威指南(.zip.001

    Ex4.0共2个压缩包特性,《ext js权威指南》 前 言 第1章 ext js 4开发入门 / 1 1.1 学习ext js必需的基础知识 / 1 1.2 json概述 / 3 1.2.1 认识json / 3 1.2.2 json的结构 / 3 1.2.3 json的例子 / 4 1.2.4 ...

    Extjs 6.2 最新sdk ext-6.2.0-gpl.zip

    官方最新版本Extjs6.2版本sdk,创建新项目的时候需要用, 全面的核心框架,具有最新的Javascript标准支持 新的漂亮组件和主题,以创建漂亮的企业应用程序 现代工具链,用于构建优化,高性能,通用的应用程序 用于可视...

    ExtJS3.3版本的BUG

    <script type = "text/javascript" src = "../ext-3.3.0/adapter/ext/ext-base.js"></script> <script type = "text/javascript" src = "../ext-3.3.0/ext-all.js"></script> <script type = "text/javascript" ...

Global site tag (gtag.js) - Google Analytics