由于fly的操作原理,我們不能將fly的返回結(jié)果保存在變量中以便重用,因為每次fly操作都將可能改變該變量的dom指向。如下面的代碼就是不正確的:
var my_id = Ext.fly('my_id');
Ext.fly('another_id'); //此時my_id的dom引用已經(jīng)變?yōu)閍nother_id
my_id.highlight('FF0000',{ //此處的操作將是對another_id元素的操作
endColor:'0000FF', duration: 3
});
Ext.get和Ext.fly返回的都是一個Element對象,但是Ext.get返回的是一個獨立的Element,擁有自己獨立的操作接口封裝,
可以將其返回值保存到變量中,以便以后調(diào)用操作等,這樣為重用帶來了方便。但是它的一個很大缺點就是內(nèi)存消耗問題,假如調(diào)用
Ext.get(id)1000次,則會在內(nèi)存中創(chuàng)建1000個獨立Element。但是很多時候我們可能僅僅只是對該dom元素執(zhí)
行一次很簡單的操作,這樣如果每次都創(chuàng)建一個獨立Element放在內(nèi)存中,實在是對內(nèi)存的巨大浪費,因此當我們在只需要執(zhí)行一次操
作或者一個很簡單的操作時,采用Ext.get就顯得很不合理。Ext.fly正是為了解決這個問題而出現(xiàn),它通過使每次創(chuàng)建的Element共享內(nèi)存中
的一套操作接口來達到節(jié)省內(nèi)存的效果。
posted on 2009-02-19 14:44
紫蝶∏飛揚↗ 閱讀(1060)
評論(0) 編輯 收藏 所屬分類:
EXTJS