`
yiminghe
  • 浏览: 1460330 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ext extend 疑问

阅读更多
 extend: function () {
    // inline overrides
    var io = function (o) {
        for (var m in o) {
            this[m] = o[m];
        }
    };
    var oc = Object.prototype.constructor;
    return function (sb, sp, overrides) {
        if (typeof sp == '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.override = io;
        Ext.override(sb, overrides);
        sb.extend = function (o) {
            Ext.extend(sb, o);
        };
        return sb;
    };

 

//干嘛用的,难道就是 为了 sp = Object 时 ? 然而就算 sp == Object 也可以运行//的啊
                if(spp.constructor == oc){
                    spp.constructor=sp;
                }
 

 

看这里:已经完美解决了

简析 Extjs 类继承

分享到:
评论

相关推荐

    ExtJS的extend(Ext Designer的使用)

    这篇博客文章可能是关于如何在Ext Designer中利用`extend`来设计和自定义UI组件的教程。 首先,我们要理解`extend`在Ext JS中的工作原理。`extend`关键字用于声明一个类是另一个类的子类。这在JavaScript中实现了类...

    ext 继承(extend) 理解练习

    这里,我们聚焦于`ext`继承,通常指的是JavaScript中的`extend`方法,这是一种实现继承的方式。在JavaScript中,由于语言本身没有内置的类机制,所以开发者通过函数和原型链来模拟类的概念。 `extend`方法通常被...

    Ext一些方法的重写

    在`ext-extend.js`这个文件中,可能包含了对`Ext.extend()`的进一步实现和扩展,或者展示了如何在实际项目中重写`Ext`库的方法。通常,这样的代码示例会包含具体的类定义、方法重写以及如何在应用中使用这些自定义类...

    EXT dojochina Ext类静态方法.rar

    例如,`Ext.extend(MyClass, Ext.Panel, {myMethod: function() {...}})`创建了一个新类MyClass,它继承自Ext.Panel,并添加了一个名为myMethod的方法。 - `Ext.apply()`: 这个静态方法用于合并对象的属性,通常...

    com.guo.android_extend:android-extend:1.0.6

    implementation(name: 'android-extend-release', ext: 'aar') } ``` 3. 最后,执行 `gradlew build` 或者在 Android Studio 中同步项目,使库被正确地引入到项目中。 总之,这个压缩包提供了一个名为 "android-...

    ext多选下拉列表的全选功能实现

    "ext多选下拉列表的全选功能实现"这个主题聚焦于一个特定的UI组件——ExtJS库中的MultiComboBox,这是一种允许用户多选的下拉列表控件。在实际应用中,全选功能常常被用来快速选择所有选项,极大地提高了用户的操作...

    Ext.Store的获取方法

    Leangle.form.combo.ColorComboBox = Ext.extend(Leangle.form.BaseComboBox, { // ComboBox configurations store: new Ext.data.JsonStore({ // store configurations }) }); ``` 在这种情况下,尝试使用`Ext...

    ext继承重写

    EXT JS中的“extend”关键字是实现继承的关键。当你创建一个新的类并声明它`extend`另一个类时,新类将自动获取父类的所有属性和方法。这使得我们可以基于已有的基础类构建更复杂的组件或功能,无需从头开始编写代码...

    Ext继承分析

    在ExtJS中,`Ext.extend()` 是一个核心的函数,用于实现类之间的继承机制。它允许你创建新的类(子类),这些类将继承另一个类(父类)的属性和方法。这个功能对于构建复杂的JavaScript应用程序至关重要,因为它提供...

    com.guo.android_extend android-extend1.0.6.zip

    implementation 'com.guo.android_extend:android-extend:1.0.6'失败,用这个替代就好了 implementation 'com.guo.android_extend:android-extend:1.0.6'失败,用这个替代就好了

    Ext继承和扩展

    然而,`Ext`库提供了一个更优雅、更易于理解和维护的方式来处理继承,这包括`Ext.extend()`方法和`Ext.create()`函数。 ### `Ext.extend()` `Ext.extend()`是`Ext`库中用于创建子类的核心方法。它接受三个参数:...

    underscore.extend与$.extend实例比较分析

    在JavaScript开发中,`underscore` 和 `jQuery` 都提供了扩展对象的功能,即 `_.extend()` 和 `$.extend()` 方法。这两个方法允许开发者合并一个或多个对象的属性到目标对象中,实现对象间的属性拷贝。本文将深入...

    ext超酷的grid中放图片(ext3.2.1)

    Ext.extend(Ext.grid.Column, { renderer: function(value, meta, record, rowIndex, colIndex, store) { if (value) { return '图片" />'; } else { return ''; } } }); var grid = new Ext.grid....

    Ext与后台服务器的交互操作

    Mis.Ext.CrudPanel = Ext.extend(Ext.Panel, { // ... 具体实现细节省略 }); ``` 要使用这个CRUD面板,需要进一步继承并实现特定的需求,比如文中给出的例子是创建一个污水厂管理面板: ```javascript ...

    ext api,ext 学习笔记,SWFUpload_多文件上传及部分工具

    "第一章 必须理解Ext_extend函数.mht"和"EXT JS组件事件.mht"可能深入讨论了EXT的扩展机制和组件事件处理,是EXT开发的重要基础。 "EXT 中文手册.pdf"则是EXT的官方中文文档,是学习EXT API的权威参考资料,包含...

    ext常用注释

    使用 `Ext.extend` 可以方便地扩展现有的Ext组件类,创建新的组件类型。例如,创建一个搜索面板组件: ```javascript SearchPanel = Ext.extend(Ext.Panel, { constructor: function () { this.addEvents('...

    Ext实现java的面向对象实例

    使用`extend`关键字来指定父类,如`Ext.extend('SubClass', 'SuperClass')`。 7. **类实例方法重写**:在子类中,可以重写父类的实例方法,以实现不同的功能。在Ext中,你可以直接在子类中定义相同的方法名来实现...

    Ext4 动态加载js例子

    extend: 'Ext.panel.Panel', requires: ['MyApp.util.MyUtil'], // 延迟加载 MyUtil 工具类 // ... }); ``` 当创建 `MyApp.view.MyPanel` 实例时,`MyApp.util.MyUtil` 将自动加载。 4. **路径映射** `paths...

    cesium-extend_Extend_cesium拓展entity_cesium_

    "cesium-extend"项目是针对Cesium的功能扩展包,旨在增强其原生能力,提供更多的实用功能,如白模(Wireframe)展示和避让(Occlusion)处理。下面将详细解释这两个关键特性以及如何在Cesium中应用它们。 1. **白模...

Global site tag (gtag.js) - Google Analytics