AS3教程【六】判断 (Part1)
1、一、何谓判断
生活中,经常遇到判断的情况。比如说:
购物的时候,假设你购买的货物的总价值为130元RMB,你用现金付款时,首先找一找有没有100元的,有的话就拿出一张100元的(没的话就找有没有50元的),然后再找有没有20元的,如果有,就拿出一张20元的,最后再找有没有10元的。
当然,还有可能你需要零钱,因此,你可能有了100元之后,还给收银员第二个100元,以换取零钱
还有一种可能,你手中零钱很多,而且中好没有100元的,故而你会先找50元的,再找20元的,最后找10元甚至5元的
以上罗列了数种情况,每一种情况都需要有一个标准,这个标准就是判断的灵魂,满足标准就如何做,不满足标准又如何做
2、二、AS3内如何实现判断
通过if关键字,来实现判断。其代码的模式如下:
if(A){
B
}
其中,A是一个条件表达式,就是我们判断的标准,如果满足该条件,就执行B语句;如果不满足该条件,就不会执行B语句。
举个例子:
var num:uint=50
if(num<100){
trace("num的值小于100")
}
由于num的初始值为50,则num<100这个条件表达式的返回值就是true(真),满足判断的标准,故而就会执行trace语句,将双引号内的内容发送到输出面板
如果不满足条件(条件表达式的返回值为flase(假)),那么不会执行trace语句
3、三、判断的一般形式
上面的判断是最简略的形式,并不常用。最常用的判断除了if之外,还要配合else使用。代码模式如下:
if(A){
B
}
else{
C
}
if是“如果”的意思,else是“否则”的意思。那么,如果A的返回值为true,就只执行B语句;如果A的返回值为false,就只执行C语句。
举个例子:
var num:uint=150
if(num<100){
trace("num的值小于100")
}
else{
trace("num的值不小于100")
}
由于num的值为150,那么,num<100就是错误的。也就是说,条件表达式的返回值为false,那么,只执行第二个trace语句,输出num的值不小于100
4、四、稍微复杂一点的判断:
代码里,为何不设置为num的值“大于”100,而要说“不小于”呢?因为num的值有可能等于100。因此,为了让代码更精确,我们有必要将等于100的情况也包含在内。那是不是写出如下格式的即可搞定呢?
if(A){
B
}
else{
C
}
else{
D
}
答案是否定的。测试的时候会报错【1083: 语法错误: 不需要 else。】
因为,除了B就是C,何来一个D?
故而,正确的写法如下:
if(A){
B
}
else if(C){
D
}
else{
E
}
该种写法,相当于将两个if... else语句连接在了一起,只不过,第一个else后面没有语句,而是立马跟上了第二个if...else语句
则,上述要求的完整代码如下:
var num:uint=150
if(num<100){
trace("num的值小于100")
}
else if(num==100){//注意:是==而不是=,下一课详述两者的区别
trace("num的值等于100")
}
else{
trace("num的值大于100")
}