`
编程足球
  • 浏览: 257008 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Ext3.4源码之Ext.apply()和 Ext.applyif()

    博客分类:
  • Ext
 
阅读更多
1. 查看ext-base.js中的源码可知:

Ext.apply()源码
/**
 * Copies all the properties of config to obj.
 * @param {Object} obj The receiver of the properties(目标)
 * @param {Object} config The source of the properties(数据源)
 * @param {Object} defaults A different object that will also be applied for default values(目标默认值)
 * @return {Object} returns obj
 * @member Ext apply
 */
Ext.apply = function(o, c, defaults){
    // no "this" reference for friendly out of scope calls
    if(defaults){
        Ext.apply(o, defaults);
    }
    if(o && c && typeof c == 'object'){
        for(var p in c){
            o[p] = c[p];
        }
    }
    return o;
};


上看面的源码就知道其实Ext.apply()就是一个简单的属性复制功能


Ext.applyIf()源码
applyIf : function(o, c){
            if(o){
                for(var p in c){
                    // 不存在才会去覆盖,是指未定义,而不同于null
                    if(!Ext.isDefined(o[p])){
                        o[p] = c[p];
                    }
                }
            }
            return o;
        }



// 未定义,而不是单纯的null
isDefined : function(v){
    return typeof v !== 'undefined';
}
分享到:
评论

相关推荐

    Ext表格列锁定+多表头插件

    4. Ext.view.BufferView:用于实现视口内的数据缓存和滚动优化。 在实际应用中,为了使用"LockingGridView+BufferView+GroupHeaderPlugin",开发者需要按照以下步骤进行操作: 1. 引入相关的库文件和样式表。 2. ...

    EXT3.1-3.4中文API及案例.rar

    EXT3.1-3.4版本的中文API及相关案例

    Ext3.4版本

    首先,日志文件系统是Ext3.4的核心特性之一。这种设计允许系统在发生意外断电或硬件故障时,能够通过检查日志快速恢复文件系统的状态,避免数据丢失或损坏。日志记录过程分为三个阶段:写入日志、提交事务和清理日志...

    ext3.4 ext3.1.0以及ext3.0API

    EXT3.4和EXT3.1.0是EXT3文件系统在不同版本的发展阶段,而EXT3.0 API则是开发人员进行EXT3相关编程时所使用的应用程序接口。 EXT3的主要特点包括: 1. **日志记录**:EXT3采用日志式设计,系统崩溃或非正常关机后...

    ext,ext3.4

    ext,ext3.4,extjs,包括开发包,API文档,很全

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

    本资源包包含了与ExtJS 3.4相关的学习资料,包括`Ext-core.pdf`、`轻松搞定Extjs.pdf`以及`Extjs学习笔记.docx`,旨在帮助初学者或有经验的开发者更好地理解和掌握ExtJS 3.4。 `Ext-core.pdf` 是关于Ext Core的文档...

    EXT3.4 中的帮助文件(docs)

    12. **示例和教程**:除了API,帮助文件还可能包含许多示例代码和教程,这些实例通常涵盖各种常见场景,帮助开发者快速理解和掌握EXT3.4的用法。 将“docs_ext_help”解压后放入Tomcat 6.0的webapps目录下,意味着...

    ext3.4 api

    EXT3.4 API包含了一系列的系统调用和库函数,允许程序员对EXT3文件系统进行创建、读取、更新和删除文件等操作。这些API包括但不限于以下关键组件: 1. **`mknod()`**:创建特殊文件(如设备文件、管道或套接字)或...

    ext js 4.1apply && override

    ### Ext JS 4.1中的`Ext.apply`与`Ext.override` #### 一、Ext.apply详解 `Ext.apply`是Ext JS框架中的一个核心方法,主要用于对象的属性合并。此方法能够将一个或多个对象的属性复制到目标对象中,从而实现对象...

    Ext3.4+Spket安装教程+Spket.jar文件

    还有一点,就是ext.jsb2文件,在ext-3.4.0.zip压缩包中有。 Ext文件夹是需要往项目中添加的必须的文件,已经整理好了,是最简洁的。 ext-3.4.0.zip和spket文件都是从官网上下载的,下载日期是:2012.09.12 还是...

    ext3.4+api+少量demo

    EXT3.4 API是开发者用于操作EXT3.4文件系统的接口,包括创建、删除、读取和写入文件等基本操作。这些API函数通常由C语言编写,与Linux内核紧密集成。以下是一些关键的API函数: 1. **mkdir()**:创建目录。 2. **...

    EXT3.4JS包

    EXT3.4JS包是基于JavaScript的开源UI框架Ext JS的一个版本,主要应用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。这个版本是3.4.1,它在EXTJS系列中具有一定的历史地位,提供了丰富的组件和...

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

    在EXTJS框架中,`Ext.ux.form.LovCombo`是一种自定义组件,它扩展了基本的`Ext.form.field.ComboBox`,提供了更丰富的功能,尤其是针对多选和联动选择的需求。这个组件通常用于创建具有“lov”(即“Look Up Value”...

    ext4magic-0.3.2-3.10.x86_64.rpm

    ext4magic-0.3.2-3.10.x86_64.rpm

    Ext.NET.MVC.Pro.2.2.0.zip

    9. **源码级支持**:作为专业版,该版本可能包含源代码,允许开发者进行深度定制和扩展。 10. **文档和示例**:通常,专业版会提供详细的文档和丰富的示例代码,帮助开发者快速上手和解决实际问题。 总之,Ext.NET...

    Ext 3.4 多表头 列锁定

    在Ext 3.4中,实现多表头可能需要配置`headers`属性或者使用`Ext.grid.header.Container`来创建复杂的表头结构。 列锁定(Column Locking)是Ext JS的一个功能,它允许用户固定某些列,即使在滚动表格时这些列也会...

    EXT dojochina Ext类静态方法.rar

    - `Ext.applyIf()`: 类似于`Ext.apply()`,但只有当目标对象没有指定属性时,才会从源对象复制属性。 - `Ext.Array.from()`: 用于将各种类型的输入转换为数组,方便处理集合数据。 4. **静态方法的使用场景**:...

    Ext.Ajax.request2.x实现同步请求

    在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...

    EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档

    EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档...

    Ext.NET.MVC.Pro.2.2.0.MVC.Examples.Explorer.zip

    开发者可以查看控制器、视图和模型的实现,了解如何在ASP.NET MVC项目中集成Ext.NET组件,并且学习如何处理各种事件和数据绑定。 5. **Demo**: 示例涵盖了各种Ext.NET MVC控件的用法,如表格(GridPanel)、窗体...

Global site tag (gtag.js) - Google Analytics