Ext.get()與Ext.fly()之區別

來源:互聯網
上載者:User

由於fly的操作原理,我們不能將fly的返回結果儲存在變數中以便重用,因為每次fly操作都將可能改變該變數的dom指向。如下面的代碼就是不正確的:

var my_id = Ext.fly('my_id'); 
   Ext.fly('another_id'); //此時my_id的dom引用已經變為another_id 
   my_id.highlight('FF0000',{ //此處的操作將是對another_id元素的操作 
      endColor:'0000FF', duration: 3 
   });

Ext.get和Ext.fly返回的都是一個Element對象,但是Ext.get返回的是一個獨立的Element,擁有自己獨立的操作介面封裝,可以將其傳回值儲存到變數中,以便以後叫用作業等,這樣為重用帶來了方便。但是它的一個很大缺點就是記憶體消耗問題,假如調用 Ext.get(id)1000次,則會在記憶體中建立1000個獨立Element。但是很多時候我們可能僅僅只是對該dom元素執行一次很簡單的操作,這樣如果每次都建立一個獨立Element放在記憶體中,實在是對記憶體的巨大浪費,因此當我們在只需要執行一次操作或者一個很簡單的操作時,採用Ext.get就顯得很不合理。Ext.fly正是為瞭解決這個問題而出現,它通過使每次建立的Element共用記憶體中的一套操作介面來達到節省記憶體的效果

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.