页面

2010年10月14日星期四

as3中arguments对象

手册上解释:该对象用于存储和访问函数参数,所以在Function对象初始化时内部直接拥有一个arguments对象,而该对象有两个属性:
    callee:访问其所在函数的引用
    length:参数个数

对象arguments.callee就有一个用武之地:
有很多时候会定义一个匿名的事件侦听器,如:
  mc.addEventListener(
    "my_e_type",
    function (e:Event){
    }
  );
这样的话就会出现定义的这个侦听器无法删除,如果这个mc被使用多次,就会造出多个侦听器,最终出现错误,这时候就可以使用上面提到的方法来在匿名函数中删除侦听器了:
  mc.addEventListener(
    "my_e_type",
    function (e:Event){
      mc.removeEventListener(""my_e_type",arguments.callee);
      
      //some code
    }
  );

没有评论:

发表评论