`

Ext.get()与Ext.fly()又什么不同

EXT 
阅读更多
Ext.get()每次都会创建对象.而fly则会去缓存中查找,然后返回.你可以看下他们的源代码,如果有大量对象需要获得的话,最好使用Ext.fly()性能会好一些.

Ext.get和Ext.fly返回的都是一个Element对象,但是Ext.get返回的是一个独立的Element,拥有自己独立的操作接口 封装,可以将其返回值保存到变量中,以便以后调用操作等,这样为重用带来了方便。但是它的一个很大缺点就是内存消耗问题,假如调用 Ext.get(id)1000次,则会在内存中创建1000个独立Element,其内存占用可想而知。但是很多时候我们可能仅仅只是对该dom元素执行一次很简单的操作,如隐藏(hide),这样如果每次都创建一个独立Element放在内存中,实在是对内存的巨大浪费,因此当我们在只需要执行一次操作或者一个很简单的操作时,采用Ext.get就显得很不合理。Ext.fly正是为了解决这个问题而出现,它通过使每次创建的Element共享内存中的一套操作接口来达到节省内存的效果。
分享到:
评论

相关推荐

    Ext.get与Ext.fly的区别

    ### Ext.get与Ext.fly的区别 在Ext JS框架中,`Ext.get`和`Ext.fly`是两个非常重要的方法,它们主要用于操作DOM元素。理解这两个方法之间的区别以及如何使用它们对于开发高质量、高效率的应用程序至关重要。 #### ...

    Ext.get与Ext.fly 的区别

    在阅读《Ext_Core手册.pdf》时,可以深入研究EXTJS的核心概念和API,了解更多关于`Ext.get`和`Ext.fly`的底层实现以及它们在不同场景下的应用策略。同时,理解EXTJS中的`Element`类和DOM操作对于提升EXTJS应用的性能...

    3------通过实例学习------Ext.js------.pdf

    `Ext.fly`是另一个与`Ext.get`相似但略有不同的方法,它主要用于一次性操作DOM元素,可以减少内存消耗,适用于只需要执行一次操作的情况。 学习Ext.js不仅是学习其API和组件,更重要的是理解其背后的MVC(Model-...

    3------通过实例学习------Ext.js------.docx

    `Ext.fly`函数类似,但它的设计目的是快速执行一次性的DOM操作,而不需要保留对元素的引用,适合一次性操作的场景。 在Ext.js中,DOM操作是非常重要的部分。`Ext.get`和`Ext.getBody`是两个常用的DOM访问方法,前者...

    Ext Js权威指南(.zip.001

    6.2.3 使用ext.fly获取元素 / 256 6.2.4 使用ext.getdom获取元素 / 257 6.2.5 获取元素的总结 / 258 6.3 元素生成器:ext.dom.helper / 258 6.3.1 概述 / 258 6.3.2 使用createhtml或markup方法生成html代码 /...

    EXTJS总结.txt

    1.Ext.get var el = Ext.get('myElementId');//获取元素,等同于document.getElementById('myElementId');//会缓存 2. Ext.fly var el = Ext.fly('myElementId')//不需要缓存。 注:享元模式(Flyweight Design ...

    ext初级入门

    例如,`Ext.getDom('elId')`用于通过ID查找DOM节点,而`Ext.getDom(elDom)`则用于通过现有DOM节点查找DOM节点。 接下来,我们讨论EXT中的一些CSS元素操作: 4. **addClass**:使用`Ext.fly('elId').addClass('...

    EXT核心API详解(第一部分)

    `Ext.get`和`Ext.fly`方法用于获取Element实例,`Ext.query`则类似于jQuery的`$`,用于选取DOM元素。Element对象还支持事件监听和动画效果。 3. **基本数据类型扩展**:EXT JS扩展了JavaScript的基本数据类型,如...

    extjs 学习笔记(二) Ext.Element类

    首先,`Ext.fly` 和 `Ext.get` 都是用来获取`Ext.Element`对象的方法,但它们之间存在一些关键的不同。`Ext.fly`,也称为`Ext.Element.fly`,是一个轻量级的快捷方式,它主要用于一次性操作DOM元素,不会保存对象...

    ExtJS对Ajax的支持

    **Ext.Ajax**是ExtJS框架中的一个核心组件,用于实现与服务器的异步通信,即Ajax请求。这一功能对于构建动态、响应式和交互式的Web应用至关重要。Ext.Ajax提供了一套封装良好的API,使得开发者能够更轻松地管理HTTP...

    Ext Core手册 繁体体中文pdf版.7z

    例如,`Ext.get()`方法用于获取DOM元素,`Ext.fly()`则允许快速访问并执行一次操作,而无需创建DOM选择器对象。此外,还有用于添加和删除类名、设置样式属性以及处理事件的方法。 **三、事件处理** Ext Core 提供了...

    extjs核心api详解

    文章最后提到了Ext类的一些常用方法,如addBehaviors、apply、applyIf、decode、destroy、each、encode、escapeRe、extend、fly、get、getBody、getCmp等。这些方法提供了丰富的功能,如事件绑定、对象拷贝、JSON...

    EXT核心API详解.doc

    例如,`Ext.getBody()`可以获取当前文档的body对象,`Ext.getDom()`则可以由ID或DOM节点获取对应的DOM元素。 2. **addBehaviors**: 这个方法用于批量添加事件监听器。它允许你使用一种简洁的方式来为多个选择器绑定...

    EXT核心API详解

    var el = Ext.fly('some-element', 'named'); // 获取带有ID "some-element" 的浮动元素 ``` ##### 11. `get(Mixed el):Element` - **功能**:获取一个Element对象。 - **参数**: - `el`:可以是ID、DOM节点或...

    Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法

    row = Ext.fly(rowNode, '_rowExpander'), nextBd = row.down(me.rowBodyTrSelector, true), isCollapsed = row.hasCls(me.rowCollapsedCls), addOrRemoveCls = isCollapsed ? 'removeCls' : 'addCls', ...

    Ext js2.1 最新资料汇总

    ### Ext JS 2.1 核心 API 详解 #### 1. `addBehaviors(Object obj):void` 此方法用于向指定的 DOM 元素添加事件监听器。它接受一个对象作为参数,其中键为事件选择器(selector),值为对应的事件处理函数。 **...

Global site tag (gtag.js) - Google Analytics