flash as 运算符问题

来源:百度知道 编辑:UC知道 时间:2024/09/24 02:13:28
年龄 = 50;
身高 = 1.1;
if (年龄>60 || 年龄<14 && !(身高>1.1)) {
trace("予以免费");
} else {
trace("请主动买票");
}

/////////////////////////分割
年龄 = 70;
门票 = 年龄>60 || 年龄<10 ? 20 : 100;
trace(门票+"元");

------这2段运算符号使用中,"门票 = 年龄>60 || 年龄<10 ? 20 : 100;"
代替了if ...else...语句中的内容,效果一样.

我想问2种方法实质的区别在哪里呢?

这就像你家去学校有两条路,你可以选择走你自己比较常走的那一条路,可是不管你走那一条都可以到学校的.
if...else 与?: 这两种就像两条路一样的道理,
不过if...else还可以用多个
比如
if(){}
else if(){}
else if(){}
.....
而?:就没有这样了,不过?:用起来要比if...else简便.
比如你输入一个数是,然后判断它的是否比5大
x>5?trace(x比5大):trace(x比5小);只要一句话就可以
而用if..else
if(x>5){
trace(x比5大)
}else {
trace(x比5小)
}
要多几行了.

要是有很多的条件选择的话,可以选择用switch了

没有实质上的区别

使用条件运算符更简洁,但是代码的可读性差一些
使用if else运算,代码长度增加了,但是更容易理解了

?:是三元运算符,本质上就是if else.
?:一般用在赋值运算中。
if else用途更多