随笔-9  评论-168  文章-266  trackbacks-0
由于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共享内存中 的一套操作接口来达到节省内存的效果。
posted on 2009-02-19 14:44 紫蝶∏飛揚↗ 阅读(1053) 评论(0)  编辑  收藏 所属分类: EXTJS

只有注册用户登录后才能发表评论。


网站导航: