一、+ 加法运算符
将数值表达式相加或者连接(合并)字符串。如果其中一个表达式为字符串,则所有其它表达式都被转换为字符串,然后连接起来。两个表达式都为整数时,和为整数;其中一个或两个表达式为浮点数时,和为浮点数。
返回:Object - 一个字符串、整数或浮点数。
示例
用法 1:下面的示例连接两个字符串,然后在"输出"面板中显示结果。
var name:String = "Cola";
var instrument:String = "Drums";
trace(name + " plays " + instrument); // output: Cola plays Drums
用法 2:此语句将整数 2 和 3 相加,然后将计算结果(整数 5)显示在"输出"面板中:
trace(2 + 3); // output: 5
此语句将浮点数 2.5 和 3.25 相加,然后将计算结果(浮点数 5.75)显示在"输出"面板中
trace(2.5 + 3.25); // output: 5.75
用法 3:与动态和输入文本字段相关联的变量是字符串数据类型。在以下示例中,变量 deposit 是舞台上的一个输入文本字段。在用户输入存款数目后,该脚本尝试将 deposit 添加到 oldBalance。然而,由于 deposit 是字符串数据类型,因此脚本连接(合并成一个字符串)变量的值,而不是对它们求和。
var oldBalance:Number = 1345.23;
var currentBalance = deposit_txt.text + oldBalance;
trace(currentBalance);
例如,如果用户在 deposit 文本字段中输入 475,则 trace() 语句将值 4751345.23 发送到"输出"面板。若要更正这一点,请使用 Number() 函数将字符串转换为数字,如下所示:
var oldBalance:Number = 1345.23;
var currentBalance:Number = Number(deposit_txt.text) + oldBalance;
trace(currentBalance);
下面的示例说明如何不计算字符串表达式右侧的数值和:
var a:String = 3 + 10 + "asdf";
trace(a); // 13asdf
var b:String = "asdf" + 3 + 10;
trace(b); // asdf310
二、++ 递增运算符
将 expression 加 1 的预先递增和滞后递增一元运算符。 expression 可以是变量、数组中的元素或对象的属性。运算符的预先递增格式 (++expression) 将 expression 加 1,然后返回结果。此运算符的滞后递增格式 (expression++) 将 expression 加 1,并返回 expression 的初始值(即增加之前的值)。
var x:Number = 1;
var y:Number = ++x;
trace("x:"+x); //traces x:2
trace("y:"+y); //traces y:2
此运算符的滞后递增格式将 x 递增为 2 (x + 1 = 2),并将 x 的初始值作为结果 y 返回:
var x:Number = 1;
var y:Number = x++;
trace("x:"+x); //traces x:2
trace("y:"+y); //traces y:1
示例
下面的示例将 ++ 用作滞后递增运算符,以使 while 循环运行五次:
var i:Number = 0;
while (i++ < 5) {
trace("this is execution " + i);
}
/* output:
this is execution 1
this is execution 2
this is execution 3
this is execution 4
this is execution 5
*/
此脚本在"输出"面板中显示以下结果:1,2,3,4,5,6,7,8,9,10 下面的示例将 ++ 用作 while 循环中的滞后递增运算符:
// using a while loop
var a:Array = new Array();
var i:Number = 0;
while (i < 10) {
a.push(i++);
}
trace(a.toString()); //traces 0,1,2,3,4,5,6,7,8,9
下面的示例将 ++ 用作 for 循环中的滞后递增运算符:
// using a for loop
var a:Array = new Array();
for (var i = 0; i < 10; i++) {
a.push(i);
}
trace(a.toString()); //traces 0,1,2,3,4,5,6,7,8,9
此脚本在"输出"面板中显示以下结果:
0,1,2,3,4,5,6,7,8,9
三、+= 加法赋值运算符
x += y;
x = x + y;
此运算符也可以执行字符串连接运算。加法运算符 (+) 的所有规则适用于加法赋值 (+=) 运算符。
可用性:Flash Player 4;ActionScript 1.0
返回 Number - 加法运算的结果。
示例
用法 1:此示例将 += 运算符与字符串表达式一起使用,并将"My name is Gilbert"发送到"输出"面板。
var x1:String = "My name is ";
x1 += "Gilbert";
trace(x1); // output: My name is Gilbert
用法 2:下面的示例说明加法赋值运算符 (+=) 的数值用法:
var x:Number = 5;
var y:Number = 10;
x += y;
trace(x); // output: 15