《Flash ActionScript 3 殿堂之路》二,三,四章 运算符,语句,函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Flash ActionScript 3 殿堂之路》二,三,四章 运算符,语句,函数相关的知识,希望对你有一定的参考价值。
1. 运算符相关
1 var a:int = 5; 2 var b:uint = 5; 3 trace(a === b);//输出true。全等运算符对于数值类型一视同仁, 4 //如果int,uint和Number类型数值相同,全等运算
2.
1 //注意:等于和全等运算符对于变量的默认值的比较是不同的 2 var a:Number; 3 var b:Number; 4 trace(a); 5 trace(b); 6 trace(a == b); 7 trace(a === b); 8 //输出:NaN 9 //NaN 10 //false 11 //false 12 13 14 //注意null和undefined的情况 15 trace(undefined == null);//ture 16 trace(undefined === null);//false 17 18 //在AS2中,以下这种情况输出的是false,但是AS3会自动调用它们的值来进行判断 19 //而不是引用 20 var a = new int(1); 21 var b = new int(1); 22 trace(a == b);//true
3.
1 //is 判断一个对象是够属于一种类型,返回布尔值 2 trace(9 is Number);//true 3 4 5 //as 如果对象属于一种类型,那么as返回这个对象,否则返回null 6 trace(6 as Array);//null 7 trace(6 as Object);//6 8 trace("hello" as Object);//hello 9 //?? 在AS3中,基元数据类型也是对象。 10 11 12 //in 关键字用来判断一个对象是否作为另一个对象的键 13 //返回布尔值。eg 14 var a:Array = ["a", "b", "c"]; 15 trace(2 in a);//true 16 trace(3 in a);//false 17 18 var b:Object={ 19 name:"li", 20 age:10 21 } 22 trace("name" in b);//true 23 trace("age" in b);//true 24 25 26 //delete的作用:在AS3中,delete关键字可以删除对象的动态实例属性 27 //非动态属性不能删除 28 //如果要将一个属性所持有的引用删除,利用将null赋值给该属性。 29 var b:Object={ 30 name:"li", 31 age:10 32 } 33 delete b;//报错 34 delete b.name; 35 trace(b.name);//undefined 36 37 b = null; 38 trace(b);//null
4. 语句相关
1 //注意 if...else if...else 的使用技巧 2 //一旦有一个if语句中的条件表达式为真,那么该if语句包含的分支流程会执行 3 //但是该语句之后的其他的if...else语句都不会被执行。 4 //(1)应当把精确范围较小的条件表达式提前 5 //(2)在互斥条件判断下,为了让程序高效率执行,应当将最有为真得if选项提前到最前面。 6 //eg:可能出现以下错误 7 var foo:int = 500; 8 if(foo>0){ 9 trace("foo是一个正整数"); 10 }else if(foo>100){ 11 trace("foo是一个大于100的正整数"); 12 }else{ 13 trace("foo小于0"); 14 } 15 16 17 //for...in 和 for each...in语句用来枚举一个集合中所有的元素 18 //在访问Object这样的非数字索引的集合和,可以使用for...in 和 for each...in。 19 //注意:for...in枚举变量,代表的是键;for each...in枚举变量直接代表集合的成员。 20 21 var book:Object={ 22 book_1:"b1", 23 book_2:"b2", 24 book_3:"b3" 25 26 } 27 for(var k in book){ 28 trace("成员名字(键):" + k + "\\t成员值:" + book[k]); 29 } 30 31 //输出: 32 //成员名字(键):book_3 成员值:b3 33 //成员名字(键):book_1 成员值:b1 34 //成员名字(键):book_2 成员值:b2 35 //??并不是按顺序枚举?? 36 37 for each(var k in book){ 38 trace( "成员值:" + k); 39 } 40 //输出 41 //成员值:b1 42 //成员值:b2 43 //成员值:b3
4.
1 //第四章,AS3中的函数 2 //AS3中的函数分两类:方法和函数闭包。 3 4 //定义函数的两种方法:函数语句定义大,函数表达式定义法 5 function f1(){ 6 //函数语句 7 } 8 9 var f2:Function=function (){ 10 //函数语句 11 } 12 13 //两种定义方式的区别 14 //(1)提升问题。函数语句定义法定义的函数在编译时会提升带最前面, 15 //而函数表达式定义法只能先定义再使用。 16 17 testA();//写在这里会报错 18 testB(); 19 var testA:Function = function():void{trace("A")}; 20 function testB():void{ 21 trace("B"); 22 } 23 24 //(2)this关键字的记忆 25 //(3)内存管理和垃圾回收区别 26 //(4)本质区别(4.3) 27 28 //注意函数参数是按值传递还是按引用传递 29 //在AS3中,所有的参数都是按引用传入的。只不过,基元数据类型是不变对象,传引用和传值的效果是一样的。 30 31 //设置默认参数 eg
32 function test(a:int=3,b:int=2,c:int=1):void{ 33 trace("The sum is:", a + b + c,a, b, c); 34 } 35 test(); 36 test(4); 37 test(4, 4); 38 test(4, 4, 4); 39 //输出 40 //The sum is: 6 3 2 1 41 //The sum is: 7 4 2 1 42 //The sum is: 9 4 4 1 43 //The sum is: 12 4 4 4 44
以上是关于《Flash ActionScript 3 殿堂之路》二,三,四章 运算符,语句,函数的主要内容,如果未能解决你的问题,请参考以下文章
《Flash ActionScript 3 殿堂之路》二,三,四章 运算符,语句,函数
Actionscript,AS3,MXML,Flex,Flex Builder,Flash Builder,Flash,AIR,Flash Player之关系
stopImmediatePropagation和stopPropagation (事件防止侦听)
ActionScript 3 Actionscript 3 / Flash中的半色调效果