WEB开发网
开发学院图形图像Flash Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按... 阅读

Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按位 XOR 赋值运算符

 2012-06-02 20:00:06 来源:开发学院   
核心提示:一、?: 条件运算符expression1 ? expression2 : expression3指示 Flash 计算 expression1,如果 expression1 的值为 true,Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按位 XOR 赋值运算符,则返回值 expression2;否则

一、?: 条件运算符

expression1 ? expression2 : expression3

指示 Flash 计算 expression1,如果 expression1 的值为 true,则返回值 expression2;否则返回值 expression3。

操作数

expression1 : Object - 一个计算结果为布尔值的表达式;通常为像 x < 5 这样的比较表达式。

expression2 : Object - 任意类型的值。

expression3 : Object - 任意类型的值。

返回 Object - expression2 或 expression3 的值。

示例

下面的语句将变量 x 的值赋予变量 z,因为 expression1 的计算结果是 true:

var x:Number = 5;
  var y:Number = 10;
  var z = (x < 6) ? x: y;
  trace (z); // returns 5

下面的示例说明简写的条件语句:

var timecode:String = (new Date().getHours() < 11) ? "AM" : "PM";
  trace(timecode);

也可以按普通形式编写该条件语句,如下例所示:

if (new Date().getHours() < 11) {
   var timecode:String = "AM";
  } else {
   var timecode:String = "PM";
  } trace(timecode);

二、^ 按位 XOR 运算符

  将 expression1 和 expression2 转换为无符号 32 位整数,然后对于 expression1 或 expression2 中为 1(但不在两者中同时为 1)的相应位的每一位返回 1。浮点数通过舍去小数点后面的所有位来转换为整数。结果是一个新的 32 位整数。

正整数转换为无符号的十六进制值,其最大值为 4294967295 或 0xFFFFFFFF;转换大于最大值的数时,会舍去最高有效位,因此该值仍保持为 32 位。负数通过 2 的补码标记转换为无符号的十六进制值,其最小值为 -2147483648 或 0x800000000;小于最小值的数转换为精度更高的 2 的补码,同时也会舍去最高有效位。

由于返回值解释为带符号的 2 的补码数,因此,返回值将是 -2147483648 到 2147483647 范围中的一个整数。

可用性:Flash Player 5;ActionScript 1.0

操作数

expression1 : Number - 一个数字。

expression2 : Number - 一个数字。

返回 Number - 按位运算的结果。

示例

下面的示例对十进制的 15 和 9 使用按位 XOR 运算符,然后将结果赋予变量 x:

// 15 decimal = 1111 binary
  // 9 decimal = 1001 binary
  var x:Number = 15 ^ 9;
  trace(x);
  // 1111 ^ 1001 = 0110
  // returns 6 decimal (0110 binary)

三、^= 按位 XOR 赋值运算符

expression1 ^= expression2

对 expression1 赋予 expression1 ^ expression2 的值。例如,下面两个语句是等效的:

x ^= y;
  x = x ^ y;

可用性:Flash Player 5;ActionScript 1.0

操作数

expression1 : Number - 整数和变量。

expression2 : Number - 整数和变量。

返回 Number - 按位运算的结果。

示例

下面的示例说明按位 XOR 赋值 (^=) 运算:

// 15 decimal = 1111 binary
  var x:Number = 15;
  // 9 decimal = 1001 binary
  var y:Number = 9;
  trace(x ^= y); // returns 6 decimal (0110 binary)

Tags:Flash 条件 运算符

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接