- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ext.get和ext.fly的区别
从一开始接触Ext就看到有Ext.fly这个函数,当时觉得这个跟Ext.get没什么区别,加之当时对JS性能相关问题认识肤浅,也一直没有在意其区别,今日看learning extjs一书,看到了有专门对Ext.fly特别强调的一处:
This isnt exactly a speed tip, but is more about conserving memory by using something called a flyweight to perform simple tasks, which results in higher speed by not clogging up the browsers memory
大概意思也就是Ext.Fly采用flyweight模式使所有fly出来的元素共享内存,可以提高程序执行速度,减少内存占用。
这段话激起了我对这个函数的兴趣,毕竟近段时间一直在搞JS性能优化相关问题,对“内存”这个字眼非常敏感。大概看了下Ext源码对get和fly实现的部分,然后在网上查看了一些资料,终于对他们之间的异同有了个比较深入的认识。Ext的官方开发人员给出了如下的解释:
Ext.Element wraps a lot of functionality around DOM element/node, for example functions like hide, show, all animation stuff, dimensions getting and setting function and a lot more. Ext.Element keeps reference to DOM element it is wrapped around in dom property. Once you have an Ext.Element (e.g. you call Ext.get(some-d) it is an instance of Element class and you can work with it as such. Now, imagine that you need to hide 1000 DOM nodes, you call 1000 times Ext.get(some-one-of-1000-id).hide() so you create 1000 instances of Element just to call one function: hide. Ext.fly is one instance of Ext.Element with replaceable DOM node it is wrapped around. If you call 1000 times Ext.fly(some-one-of-1000-id).hide() you 1000 times replace dom property of one instance of Ext.Element. Result: higher performance, lower memory usage. You only need to keep in mind that you cannot keep Element returned by Ext.fly for later use as its dom will sooner or later gets replaced by another one.
这段话中,大致的意思如下:
Ext.Element是Ext对Dom元素的一个强有力封装,它封装了很多方便对dom操作的接口(并通过Element的dom属性引用对应的dom元素),因此每创建一个Element元素都将消耗不少的内存(主要是大量的操作接口消耗),因此如果创建过多的Element元素必然导致内存占用的剧增和系统性能的下降。
Ext.get和Ext.fly返回的都是一个Element对象,但是Ext.get返回的是一个独立的Element,拥有自己独立的操作接口封装,可以将其返回值保存到变量中,以便以后调用操作等,这样为重用带来了方便。但是它的一个很大缺点就是内存消耗问题,假如调用Ext.get(id)1000次,则会在内存中创建1000个独立Element,其内存占用可想而知。但是很多时候我们可能仅仅只是对该dom元素执行一次很简单的操作,如隐藏(hide),这样如果每次都创建一个独立Element放在内存中,实在是对内存的巨大浪费,因此当我们在只需要执行一次操作或者一个很简单的操作时,采用E
您可能关注的文档
- Effect of the Pauli Exclusion Principle in the ManyElectron Wigner Function.pdf
- Effect of the smaller masssquared difference for the long baseline neutrino experiments.pdf
- Effect of thickness on bifacial silicon solar cells.pdf
- Effect of Turbulent Fluctuations on Mean Flow ReynoldsAveraging.pdf
- Effect of Thermal Fluctuation on Spectral Function for the TomonagaLuttinger Model.pdf
- Effect of Turfgrass Cover and Irrigation on Soil Mobility and Dissipation of Mefenoxam and.pdf
- Effect of urbanization on the structure and functional traits of remnant subtropical evergreen.pdf
- Effect of wavelength and incident angle in the laser removal of particles from silicon wafers.pdf
- Effective adaptation of a hidden Markov modelbased named entity recognizer for biomedical.pdf
- Effective Action Studies of Quantum Hall Spin Textures.pdf
- 2025年起重机作业人员安全教育培训试卷.doc
- 2025年汽车发动机维修技能试题.doc
- 心心相印(纸品)系列冬己 上市推广方案.ppt
- 2025至2030国内有机大米行业市场发展深度分析及前景趋势与投资机会报告.docx
- 2025年乳腺癌术后健康教育题.doc
- 2025年三级综合性医院护理常规试题.doc
- 2025至2030国内有机牛肉行业市场发展分析及竞争格局与投资机会报告.docx
- 初中物理实验教学中实验操作规范与实验安全意识培养研究教学研究课题报告.docx
- 2025年脑梗死患者健康教育试题.doc
- 高中生物实验校园植物生物技术在生物多样性保护中的应用记录研究教学研究课题报告.docx
最近下载
- VEICHI伟创 AC310系列变频调速器使用手册2021.06.pdf VIP
- 隧道施工课件.ppt VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-下(判断题汇总).docx VIP
- DB 6108T 53-2023 煤基固废调理剂修复沙化土地技术规范.docx VIP
- DB6108_T 52-2023 煤基固废调理剂修复盐碱地技术规范.docx VIP
- 行政人事部年终工作总结.pdf VIP
- 行政人事部年终工作总结.pptx VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-中(多选题汇总).docx VIP
- 化工厂物资明细表.xls VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛试题库(浓缩500题).docx VIP
文档评论(0)