AS3基础教程-第7课-判断(上)-if语句
的有关信息介绍如下:赋值、判断、循环 乃是所有的计算机编程语言都具备的三大基础。
这三者贯穿了AS3的始终,我们看到的所有的AS3代码都离不开这三者。
它们出现的频率超高,大家务必掌握并精通。
前面的章节中我已经介绍了赋值,本节课讲述判断。
判断有两种,一种是if判断(本节课详解之),另一种是switch判断(下节课详解)。
打开flashCS6,新建一个AS3.0的flash文档
然后按F9键打开动作面板,准备书写AS3代码。
按照前面章节的说明,将动作面板和输出面板都单独拖出来,方便接下来的操作
格式:
if(A){
B
}
说明:A称为判断的条件,其返回值只有两个 true和false
当A的返回值是true时,执行B语句;如果A的返回值是false,不执行B语句。
例子:
var myNum:uint=50
if(myNum>10){
trace("myNum的值比10大")
}
如下图所示。这里我定义了一个名为myNum的uint数据类型的变量,并给其初始值为50,然后用if判断:
myNum>10 很明显是成立的,也就是说,本行语句的返回值是true,故此会执行后面的trace语句
接上例,我们修改为下面的代码,再测试影片
var myNum:uint=50
if(myNum<10){
trace("myNum的值比10小")
}
我们发现,输出面板空白。因为此时的判断条件的返回值是false
那么,可否实现下面的效果:当不满足判断条件时,会输出另一断文字?
答案是肯定的。
此时需要配合else进行书写。
书写格式:
if(A){
B
}
else{
C
}
解释:如果A为true时,执行B语句;否则(当A为false时),就执行C语句。
if可翻译为 如果,else就翻译为否则
接上例,将代码修改为下面的:
var myNum:uint=50
if(myNum<10){
trace("myNum的值比10小")
}
else{
trace("myNum的值大于或等于10")
}
输出结果是myNum的值大于或等于10
看上例,我们可以将代码写的更加精确,这是因为if..else语句可以拓展!
拓展时注意,第一个else和第二个if要放在一起【同理,第二个else要和第三个if放在一起,以此类推】,最终最好是将else写上【不写也可以】
书写格式:
if(A1){//第一次判断
B1
}
else if(A2){//第二次判断
B2
}
else if(A3){//第三次判断
B3
}
//这里就是上面格式的续写,可以续写多次
else{//上述所有的判断结果都是false时,执行C语句
C
}
接上例,我们使用两个判断,就可以修改为完美效果:
var myNum:uint=50
if(myNum<10){
trace("myNum的值小于10")
}
else if(myNum==10){
trace("myNum的值等于10")
}
else{
trace("myNum的值大于10")
}
输出结果是myNum的值大于10
特别强调:本例出现了一个==符号,乃是用于判断它所连接的双方是否相等的“关系运算符”
以a==b为例,如果a和b的值相等,这条表达式的返回值就是true,如果a和b不相等,返回值就是false
注意,==和=不一样!
==是关系运算符;=是赋值运算符
当判断的次数较多时,特别容易引起逻辑的混乱,flashCS6版本的代码编辑区功能不够强悍,需要我们仔细的甄别。
从flashCC版本开始,支持成对的{}的折叠与判断。下图1是Flash CC2014编辑环境内 上述代码的呈现效果.
下图2是FlashDevelop的呈现效果。
判断语句必然的要和关系运算联系在一起。那么,用于判断大小关系的运算符就应运而生。
关系运算符连接着左右两个运算对象,关系运算符的返回值只有true和false两种
共有如下一些关系运算符
>大于
<小于
==等于【注意,不是=】
>=大于或等于
<=小于或等于
!=不等于