大众计算机学习网

专门提供各种电脑教程

Flash+、++、+= 加法运算符

Admin | 2011-12-23 7:56:01 | 被阅次数 | 3969

  一、+ 加法运算符

  将数值表达式相加或者连接(合并)字符串。如果其中一个表达式为字符串,则所有其它表达式都被转换为字符串,然后连接起来。两个表达式都为整数时,和为整数;其中一个或两个表达式为浮点数时,和为浮点数。

  返回: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