AS3 Flex基础知识100条

论坛 期权论坛     
niminba   2021-5-22 15:12   11   0
【改变输出swf的尺度,背景颜色或帧频】 <br>在”Navigator”窗框里右键你的项目&gt;选中”Properties”&gt;选中”ActionScript Compiler”&gt;在”Additional compiler arguments”里输入你所需要的命令 <br>如想改变背景颜色,请输入: -default-background-color 0xffffff <br>【鼠标坐标】 <br>mouseX mouseY <br>【检查变量类型并返回布尔值】 <br>is <br>【检查变量类型并返回类型】 <br>typeof <br>【检查对象类型并返回该对象】 <br>as <br>【是数字但不是有效数字问题】 <br>var quantity:Number = 15 - “rabbits”; <br>trace(typeof quantity); //显示: “number” , 但它是NaN (not a number) <br>trace(quantity is Number); //true <br>trace(quantity != NaN); //false <br>//使用isNaN()函数检测: <br>isNaN(quantity); //true <br>//检测变量是否内含有效数字: <br>!isNaN(quantity); //false <br>【取消默认的严格编译模式】 <br>在”Navigator”窗框里右键你的项目&gt;选中”Properties”&gt;选中”ActionScript Compiler”&gt;取消”Enabel compile-time type checking”选项 <br>【基元数据类型和复杂数据类型好比”值类型”和”引用类型”】 <br>基元数据类型类似按值传递: <br>var intOne:int = 1; <br>var intTwo:int = 1; <br>trace(intOne == intTwo); //true <br>【复杂数据类型类似按引用传递】 <br>var arrayOne:Array = new Array(”a”, “b”); <br>var arrayTwo:Array = arrayOne; <br>trace(arrayOne == arrayTwo); //true <br>//———————————– <br>var arrayOne:Array = new Array(”a”, “b”); <br>var arrayTwo:Array = new Array(”a”, “b”); <br>trace(arrayOne == arrayTwo); //false <br>【优化逻辑AND(&amp;&amp;)和OR(||)的小知识】 <br>对于逻辑And(&amp;&amp;): <br>除非条件表达式的前半部分为真,否则,ActionScript不会再去求算逻辑AND运算符的后半部.如果前半部为假,整个条件表达式一定为假,所以再去求算后半部就没效率了. <br>对于逻辑OR(||): <br>除非条件表达式前半部为假,否则,ActionScript不会再去求算逻辑OR运算符的后半部,如果前半部为真,整个条件表达式一定为真. <br>总结:使用逻辑AND(&amp;&amp;)时,把结果最可能为false的表达式放到前面;使用逻辑OR(||)时,把结果最可能为true的表达式放到前面. <br><br>【Timer类注意事项】 <br>不要认为Timer可以极其准确;使用Timer时间间隔不要低于10毫秒. <br>【private,protected,internal,public访问权限】 <br>private:只能在类本身内部访问,按惯例,命名私有成员时以下划线”_”开头; <br>protected:可以由类本身或任何子类访问.但这是以实例为基础的.换言之,类实例可以访问自己的保护成员或者父类的保护成员,但不能访问相同类的其它实例的保护成员,按惯例,命名保护成员时以下划线”_”开头; <br>internal:可以由类本身或者相同包内的任何类访问; <br>public:可以在类内部访问,也可以由类实例访问,或者声明为static时,可以直接从类访问. <br>【一个函数具有未知个数的参数,用arguments对象或”…(rest)”符号访问它的参数】 <br>注意:使用”…(rest)”参数会使 arguments 对象不可用; <br>private funciton average():void{ <br>trace(arguments.length); //输出参数的个数 <br>// arguments的类型是:object,但可以像访问数组一样去访问它 <br>trace(arguments[1]); //输出第二个参数 <br>} <br>private function average(…argu):void{ <br>trace(argu[1]); //输出第二个参数,argu参数名是自定义的. <br>} <br>【错误处理try,catch,finally】 <br>private function tryError():void{ <br>try { <br>trace(”测试开始-try”); <br>throwError(); <br>}catch(errObject:Error) { <br>trace(”错误信息:” + errObject.message); <br>trace(”测试结束-catch”); <br>return; <br>}finally{ <br>trace(”虽然catch里已经有return方法,但位于return方法后面的finally里的代码依然会被执行.其实无论return方法是在try里,还是catch里,finally里的代码始终会被执行”); <br>} <br>trace(”前面已经有return了,此处是不会再执行的.除非没有抛出错误,以使catch里的代码没有被执行”); <br>} <br>private function throwError():void{ <br>throw new Error(”抛出错误”); <br>} <br>【for…in与for each…in的区别】 <br>与for…in循环不同的是,for each…in循环中的迭代变量包含属性所保存的值,而不包含属性的名称(或主键,索引). <br>【命名包路径的小技巧】 <br>使用相应于拥有者和相关项目的包名称会比较好.按惯例来讲,包名称的开头应该是逆向的网址名称.例如,如果Example Corp(examplecorp.com)写了一些ActionScript3.0类,就会把所有类放在com.examplecorp包内(或者 com.examplecorp的子包内).如此一来,如果英国有另一家Example Corp(examplecorp.co.uk)也写了一些ActionScript3.0类,只要使用包uk.co.examplecorp,就可确保 唯一性. <br>当类属于特定应用程序的一部分时,就应该放在该应用程序特定的子包内.例如,Example Corp可能有个应用程序名叫WidgetStore.如果WidgetStore应用程序使用一个名为ApplicationManager的类,则此 类就应该放在com.examplecorp.widgetstore包内,或者位于该包的子包内. <br>按惯例来说,包名称的
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP