Flash 动作脚本之:资料速查(7)
作者:未知 来源:http://edu.chinaz.com 发布时间:2005-7-18 23:04:46 发布人:acx
使用操作符处理表达式中的值
表达式是指Flash可以计算并能返回一个值的任何语句。你可以通过把操作符和值结合在一起或通过函数调用来建立表达式。当你在正常模式的动作面板中书写一个表达式时,请确保参数面板中的表达式(Expression)复选框被选中。否则,在该域输入的数据将按字符串常数而不是表达式处理。
选中创建表达式的输入域旁边的Expression复选框
操作符是指定怎样组合、比较或改变表达式的值的字符。操作符操作的元素称为操作数。例如,在下面的语句中,+操作符把数值常量和变量foo的值加起来,foo 和 3 是操作数。
foo + 3
本讲说明常用操作符的一般规则。要了解这里提到的每个操作符的详细信息,以及没有列入这些类型的操作符的信息,请参阅Flash 5的Actionscript词典。
一、操作符优先级
当在同一语句中使用了两个或多个操作符时,一些操作符比其它一些操作符优先。Actionscript按照准确的等级来决定哪一个操作符优先执行。例如,乘法总是在加法前先执行,但括号内的项却比乘法优先。因此,在没有括号时,Actionscript首先执行乘法,如下例所示:
total = 2 + 4 * 3;
结果是14。
但是,当有括号括住加法时,Actionscript先执行加法:
total = (2 + 4) * 3;
结果是18。
二、操作符结合规则
当两个或多个操作符优先级相同时,它们的结合规则决定它们被执行的顺序。结合规则可以是从左到右或从右到左。 例如,乘法操作符的结合规则是从左到右。因此,下面的两个语句是等价的:
total = 2 * 3 * 4;
total = (2 * 3) * 4;
三、数值操作符
数值操作符执行加、减、乘、除和其它算术运算。括号和负号(-)也属于算术操作符。下表列出了Actionscript的数值操作符:
操作符 | 执行的运算 |
+ | 加法 |
* | 乘法 |
/ | 除法 |
% | 取模 |
- | 减法 |
++ | 递增 |
-- | 递减 |
四、比较操作符
比较操作符比较表达式的值,返回逻辑值真或假(true
或 false
) 。这些操作符常常用在循环和条件语句之中。在下面的例子中,如果变量 score
的值是100,winner.swf动画被载入;否则,另一个动画被载入:
if (score == 100){
loadMovie("winner.swf", 5);
} else {
loadMovie("loser.swf", 5);
}
下表列出了Actionscript的比较操作符:
操作符 | 执行的操作 |
$#@60; | 小于 |
$#@62; | 大于 |
$#@60;= | 小于等于 |
$#@62;= | 大于等于 |
五、字符串操作符
+操作符对字符串操作时,其作用是连接两个字符串操作数。例如,下面的语句把两个字符串相加: "Congratulations,"
to "Donna!"
:
"Congratulations, " + "Donna!"
结果是"Congratulations, Donna!"
。如果+操作符的操作数仅有一个是字符串,Flash把另一个操作数转换为字符串。
比较操作符$#@62;
、$#@62;=
、$#@60;
和$#@60;=
用于操作字符串时也有特? 作用。这些操作符比较两个字符串,确定哪一个字符串按字母顺序排列时排在前面。如果两个操作数都是字符串时,这些比较操作符比较这两个字符串。如果仅有一个操作数是字符串,Actionscript把两个操作数转换为数值,然后执行数值比较。
注:Flash 5的Actionscript的数据类型允许同一操作符用于不同的数据类型。因此,再也不需要使用Flash 4的字符串操作符(例如eq
、 ge
和lt
等), 除非需要导出Flash 4动画。
六、逻辑操作符
逻辑操作符比较两个逻辑值(true
和 false
),返回结果也是逻辑值。例如,如果两个操作数的计算结果是 true
,则逻辑与运算符(&&
)返回true
。 如果一个或两个操作数的运算结果是true
,逻辑或操作符(||
)返回false
。 逻辑操作符常常与比较操作符一起使用,以确定一个 if
动作的条件。 例如,在下面的脚本中,如果两个表达式为true
,if
动作将被执行。
if ((i $#@62; 10) && (_framesloaded $#@62; 50)){
play();
}
下表列出了Actionscript的逻辑操作符:
操作符 | 执行的操作 |
&& | 逻辑与 |
|| | 逻辑或 |
! | 逻辑非 |