2016-10-13 00:16:48 点击量:9 标签: 收藏本文
类的活动范围已经绑定到类方法(Classscopeisnowboundtoclassmethods)
(也不知标题这么翻译是否正确,应该大致是这个意思把,简单的说,这个技巧就是讲解this的引用的问题。ActionScript2中,如果位于某个对象的事件处理函数中,this就指向发出这个事件的对象,而在ActionScript3中,this始终都指向类)
ActionScript3 是完全基于类的。当你创建类时,你创建的变量和函数(方法)对这个类以及实例起作用。与ActionScript2不同,方法在被调用的时候保留它所属的 类的活动范围,即使这个方法被指派给另一个对象并从另一个对象调用,或者使用Function.call和Function.apply也是如此。范例如 下:
(上面一段翻译很可能不准,还是看代码和原文更好)
- 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);
- }
- }
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室