`

Ext中apply及applyIf方法的应用(简单明了)

    博客分类:
  • EXT
EXT 
阅读更多

Ext中apply及applyIf方法的应用

apply及applyIf方法都是用于实现把一个对象中的属性应用于另外一个对象中,相当于属性拷贝。

不同的是apply将会覆盖目标对象中的属性,而applyIf只拷贝目标对象中没有而源对象中有的属性。

apply方法的签名为“apply( Object obj, Object config, Object defaults ) : Object”,

该方法包含三个参数,第一个参数是要拷贝的目标对象,第二个参数是拷贝的源对象,第三个参数是可选的,表示给目标对象提供一个默认值。可以简单的理解成把第三个参数(如果有的话)及第二个参数中的属性拷贝给第一个参数对象。看下面的代码:

var b1={ p1:"p1 value", p2:"p2 value", f1:function(){alert(this.p2)}};

var b2=new Object();

b2.p2="b2 value";

Ext.apply(b2,b1);b2.f1();
在上面的代码中,Ext.apply(b2,b1)这一语句把b1的属性拷贝到了b2对象中,因此调用b2的f1方法可以弹出"p2 value"的提示信息。尽管b2对象已经包含了p2属性值,但拷贝后该属性值会被覆盖。可以在调用apply方法时,在第三个参数中指定拷贝属性的默认 值,比如下面的代码:


Ext.apply(b2,b1,{p3:"p3 value"});

alert(b2.p3);

这样会使得b2中包含一个p3的属性,值为"p3 value"。

applyIf方法的功能跟apply一样,只是不会拷贝那些在目标对象及源对象都存在的属性。比如把前面演示apply方法的代码改成applyIf,

如下:

Ext.applyIf(b2,b1);b2.f1();
由于b2中已经存在了p2属性,因此,b2.f1()方法中引用this.p2的时候,得到的是"b2 value",而不是在b1中定义的"p2 value"

分享到:
评论

相关推荐

    ext js 4.1apply && override

    `Ext.apply`是Ext JS框架中的一个核心方法,主要用于对象的属性合并。此方法能够将一个或多个对象的属性复制到目标对象中,从而实现对象之间的扩展和覆盖。 ##### 1. 基本用法 `Ext.apply`的基本语法如下: ```...

    EXT dojochina Ext类静态方法.rar

    EXT dojochina Ext类静态方法是一个关于EXT框架在JavaScript中的使用的主题,主要聚焦于Ext类的静态方法。EXT是一个强大的前端开发框架,由Sencha公司开发,它提供了丰富的组件库,用于构建复杂的Web应用程序。在EXT...

    Ext.Store的获取方法

    总结来说,在Ext.js中,获取`Ext.Store`应使用`Ext.getStore`方法,而不是`Ext.getCmp`,因为Store是通过`storeId`在内存中注册和管理的,而不是作为页面上的一个可视组件。同时,Store的设计方式有助于数据的安全性...

    ext 的一些常用方法

    ext 的一些常用方法 ext 的一些常用方法 ext 的一些常用方法

    ext-grid+json简单应用

    在"EXT-GRID+JSON简单应用"中,我们将探讨如何使用EXT-JS的Grid组件与JSON数据源进行集成,以创建一个动态的数据表格。 EXT-JS的Grid组件允许开发者通过定义列模型、存储器和视图来展示数据。在JSON方面,它是一种...

    EXT学习笔记-项目应用实践

    6. **公有属性**:公有属性通过`Ext.apply()`方法将属性添加到类的原型上,使其在类的所有实例中可访问,如`pubPer:"刘文涛"`。 7. **公有方法**:公有方法同样通过`Ext.apply()`添加到原型,使得可以在实例上调用...

    Ext简介及应用案例 ppt

    这些实例进一步证明了Ext在企业级Web应用中的广泛应用。 学习和掌握Ext开发,需要具备基本的JavaScript面向对象编程、HTML、DOM、CSS、JSON以及Ajax等基础知识。通过深入理解这些基础,开发者可以更快地入门Ext,并...

    ext教程、ext核心API 、ext中文教程

    在"EXT教程"中,你将学习到EXT的基础知识,包括如何初始化应用、创建组件、布局管理以及如何与其他JavaScript库或后端服务集成。EXT的组件化思想是其核心,通过各种组件如表格(Grid)、面板(Panel)、窗口(Window...

    ext PPT,EXT 教程,EXT 中文帮助手册,EXT 中文手册,ext_教程(入门到精通),Ext技术程序文档大全.

    它们可能包括创建EXT应用的基本步骤、组件的使用方法、事件处理和响应机制等,是学习EXT的基础教材。 3. **EXT 中文帮助手册**:这是一份详细的辅助学习材料,可能包含EXT框架的高级特性,如AJAX通信、图表组件、...

    EXT dojochina Ext类实例方法.rar

    EXT dojochina Ext类实例方法.rar 是一个与EXT JS框架相关的压缩文件,EXT JS是一个广泛使用的JavaScript库,用于构建富互联网应用程序(RIA)。这个压缩包可能包含了关于EXT JS中的Ext类的一些实例方法的详细教程或...

    EXT中三种方法实现在DataGrid上显示toolTip

    上述代码示例展示了如何在EXT的DataGrid中应用这三种方法来实现toolTip的显示: 1. **第一列**(姓名列)通过`dataTipField="name"`直接将姓名字段作为工具提示。 2. **第二列**(电话列)使用`dataTipFunction=...

    Ext中CKEditor应用事例

    本篇文章将深入探讨如何在Ext(一个基于JavaScript的组件库)中集成并应用CKEditor。 CKEditor是一款JavaScript实现的WYSIWYG(所见即所得)编辑器,它提供了丰富的API和插件支持,使得开发者能够自定义编辑器的...

    Ext 图标大全及应用.rar(绝对好用)

    Ext图标大全及应用资源包包含了丰富的图标集合,适用于Ext框架的前端开发,旨在提升应用程序的用户界面美观度和用户体验。Ext是一个强大的JavaScript库,专为构建富互联网应用程序(RIA)而设计,它提供了丰富的组件...

    Ext中文帮助文档(Ext常见界面源码,及类库方法详解)

    这个“Ext中文帮助文档”涵盖了ExtJS 2.1版本的核心类库和常见界面元素,为开发者提供了详尽的源码解析和方法解释。 一、ExtJS 2.1核心组件 在ExtJS 2.1中,主要的组件包括: 1. 表格(Grid):用于展示数据,支持...

    EXT dojochina Ext类构造方法.rar

    在本压缩包“EXT dojochina Ext类构造方法.rar”中,主要聚焦于Ext类的构造方法这一核心概念。Ext JS是一个强大的前端开发框架,它基于组件模型,提供了丰富的用户界面组件和强大的数据绑定机制。深入理解Ext类的...

    ext中文帮助文档最终版

    2. **布局管理**:EXT 2.0引入了多种布局模式,如"fit"、"border"、"form"和"table",使得在容器中动态调整子组件的大小和位置变得简单。 3. **数据绑定**:EXT支持数据绑定,这意味着你可以将组件与数据源(如JSON...

    ext中文入门手册

    EXTJS中的`Ext.onReady`和`Ext.application`是两个常用方法。`Ext.onReady`会在DOM加载完成后执行,确保所有元素都可以被脚本引用。`Ext.application`用于启动EXTJS应用程序,它是EXTJS 4中的核心入口点。你可以尝试...

    EXT JS中文API+中文教程+中文资料+源码

    CHM文件便于离线查阅,开发者可以通过它了解EXT JS 2.2中的各个类、方法和配置项。 `ext中文API+ sample.chm`可能包含EXT JS的中文API文档以及示例代码,这对于快速查找和理解EXT JS的组件和函数用法非常有帮助。...

    ext中store的各个应用

    本文将深入探讨EXT中Store的应用及其重要性。 首先,Store是EXT JS中数据层的核心,它扮演着数据仓库的角色。它能够存储大量的数据对象,并提供了对这些数据进行操作的方法,如添加、删除、更新和检索。Store通过...

Global site tag (gtag.js) - Google Analytics