1]); //输出第二个参数,argu参数名是自定义的. }
【错误处理try,catch,finally】 private function tryError():void{ try { trace("测试开始-try"); throwError(); }catch(errObject:Error) { trace("错误信息:" + errObject.message); trace("测试结束-catch"); return; }finally{ trace("虽然catch里已经有return方法,但位于return方法后面的finally里的代码依然会被执行.其实无论return方法是在try里,还是catch里,finally里的代码始终会被执行"); } trace("前面已经有return了,此处是不会再执行的.除非没有抛出错误,以使catch里的代码没有被执行"); } private function throwError():void{ throw new Error("抛出错误"); }
【for...in与for each...in的区别】 与for...in循环不同的是,for each...in循环中的迭代变量包含属性所保存的值,而不包含属性的名称(或主键,索引).
【命名包路径的小技巧】 使用相应于拥有者和相关项目的包名称会比较好.按惯例来讲,包名称的开头应该是逆向的网址名称.例如,如果Example Corp(examplecorp.com)写了一些ActionScript3.0类,就会把所有类放在com.examplecorp包内(或者 com.examplecorp的子包内).如此一来,如果英国有另一家Example Corp(examplecorp.co.uk)也写了一些ActionScript3.0类,只要使用包uk.co.examplecorp,就可确保 唯一性. 当类属于特定应用程序的一部分时,就应该放在该应用程序特定的子包内.例如,Example Corp可能有个应用程序名叫WidgetStore.如果WidgetStore应用程序使用一个名为ApplicationManager的类,则此 类就应该放在com.examplecorp.widgetstore包内,或者位于该包的子包内. 按惯例来说,包名称的开头是小写字母.
【隐式的取出方法(getter)和设定方法(setter)】 public function get count():uint { return _count; } public function set count(value:uint):uint { if(value < 100){ _count = value; }else { throw Error(); } }
【确保类是绝不会有子类,使用final】 final public class Example{}
【super关键字的使用】 super(); //父类的构造函数,只能在类实例构造函数内部使用 super.propertyName; //调用父类的属性,属性需要声明为public或protected super.methodName(); //调用父类的方法,方法需要声明为public或protected
【建立常数,使用关键字const而不是var】 static public const EXAMPLE:String = "example";
【检测播放器版本】 flash.system.Capabilities.version 对于8.5版以前的任何Flash Player版本,这种方法都不适用.
【判断客户端系统】 flash.system.Capabilities.os
【检测播放器类型】 flash.system.Capabilities.playerType 可能的值有: "StandAlone",用于独立的 Flash Player "External",用于外部的 Flash Player 或处 |