AS3中This的引用

By:blog.sina.com.cn Date:2009-04-26

 

类的活动范围已经绑定到类方法(Classscopeisnowboundtoclassmethods)

(也不知标题这么翻译是否正确,应该大致是这个意思把,简单的说,这个技巧就是讲解this的引用的问题。ActionScript2中,如果位于某个对象的事件处理函数中,this就指向发出这个事件的对象,而在ActionScript3中,this始终都指向类)

 

ActionScript3是完全基于类的。当你创建类时,你创建的变量和函数(方法)对这个类以及实例起作用。与ActionScript2不同,方法在被调用的时候保留它所属的类的活动范围,即使这个方法被指派给另一个对象并从另一个对象调用,或者使用Function.call和Function.apply也是如此。范例如下:

(上面一段翻译很可能不准,还是看代码和原文更好)

 

package{

importflash.display.Sprite;

publicclassClassScopeextendsSprite{

 

publicfunctionClassScope(){

traceThis();//“ClassInstance”

 

varobj:Object=newObject();

obj.traceThis=traceThis;

obj.traceThis();//“ClassInstance”

 

traceThis.call(newSprite());//“ClassInstance”

}

 

publicoverridefunctiontoString():String{

return“ClassInstance”;

}

 

publicfunctiontraceThis():void{

trace(this);

}

}

}

参与讨论去: 艾睿(Airia) 交朋友去:友吧推荐文章去:网站贴吧
企业招聘

北京中视力天文化传媒有限公司

公司简介:北京中视力天文化传媒有限公司,是CCTV.com央视国际网络有限公司投资的互联网研发团队。我们是天使的使者。。。

招聘FlashAS程序员详情点击

Copyright 2007-2008 51AS.com Extended in kingcms 鲁ICP备06001158号