分享

Flash函数大全之八. 运算符

 曾绳汤图书馆 2010-11-16
八. 运算符 : 在表达式中使用的运算符(一)
1. " " (字符串分隔符)
可用性 Flash Player 4 。用法 " text " 参数 text
一个字符。返回无。说明字符串分隔符;当用于字符的前后时,引号指示这些字符具有字面表示的值,被视作一个“字符串”,而不是一个变量、数值或其他动作脚本元素。示例此示例使用引号指示变量
yourGuess 的值是文本字符串“ Prince Edward Island ”,而不是变量名。 province
的值是一个变量,而不是文本;要确定 province 的值,必须找出 yourGuess 的值。 yourGuess = "Prince
Edward Island"; on(release){ province = yourGuess trace(province); } //
displays Prince Edward Island in the Output window 另请参见 String (函数)
2. () (括号)
可用性 Flash Player 4 。用法 ( expression1, expression2 ); function (
parameter1,..., parameterN ); 参数 expression1 、 expression2 数字、字符串、变量或文本。
function
要对括号中的内容执行的函数。一系列参数,在将其结果作为参数传递给括号外的函数之前执行这些参数。返回无。说明运算符;对一个或多个参数执行分组运算,或者括住一个或多个参数并将它们作为参数传递给括号外的函数。用法
1
:控制表达式中运算符的执行顺序。括号覆盖正常的优先级顺序,从而导致先计算括号内的表达式。如果括号是嵌套的,则先计算最里面括号中的内容,然后计算较靠外括号中的内容。用法
2 :括住一个或多个参数并将它们作为参数传递给括号外的函数。示例用法 1
:下面的语句举例说明用括号控制表达式执行顺序的方法。每个表达式的值显示在每行的下面,如下所示: trace((2 + 3) * (4 + 5));
// displays 45 trace(2 + (3 * (4 + 5))); // displays 29 trace(2 + (3 * 4)
+ 5); // displays 19 用法 2 :下面的示例举例说明将括号与函数协同使用的方法。 getDate();
invoice(item, amount); function traceParameter(param){ trace(param); }
traceParameter(2*2); 另请参见 with
按位运算符 : 对位进行操作的运算符(AND、OR、XOR 等等)
3. & (按位 AND )
可用性 Flash Player 5 。在 Flash 4 中, & 运算符用于连接字符串。在 Flash 5 中, & 运算符是一个按位 AND
运算符,因此必须使用 add 和 + 运算符来连接字符串。使用 & 运算符的 Flash 4 文件在引入 Flash 5 创作环境时自动更新为使用
add 。用法 expression1 & expression2 参数无。返回无。说明运算符(按位);将 expression1 和
expression2 转换为 32 位无符号整数,并对这些整数参数的每一位执行布尔 AND 运算。结果是一个新的 32 位无符号整数。
4. ~ (按位 NOT )
可用性 Flash Player 5 。用法 ~ expression 参数 expression 数字。返回无。说明运算符(按位);将
expression 转换为 32 位无符号整数,然后对这些位进行求反。按位 NOT 运算更改数字的符号然后减 1
。示例下面的示例说明对一个变量执行按位 NOT 运算。 a = 0; trace ("when a = 0, ~a = "+~a); // when
a = 0, ~a = -1 a = 1; trace ("when a = 1, ~a = "+~a); // when a = 0, ~a =
-2 // therefore, ~0=-1 and ~1=-2
5. | (按位 OR )
可用性 Flash Player 5 。用法 expression1 | expression2 参数 expression1 、
expression2 数字。返回无。说明运算符(按位);将 expression1 和 expression2 转换为 32
位无符号整数,然后对于 expression1 或 expression2 的相应位为 1 的每一位返回 1 。示例下面是一个按位 OR
运算的示例。 // 15 decimal = 1111 binary x = 15; // 9 decimal = 1001 binary y =
9; trace(x | y); // 1111 | 0011 = 1111 // returns 15 decimal (= 1111
binary)
^ (按位 XOR )可用性 Flash Player 5 。用法 expression1 ^ expression2 参数 expression1
、 expression2 数字。返回无。说明运算符(按位);将 expression1 和 expression2 转换为 32
位无符号整数,然后对于 expression1 或者 expression2 中相应位为 1 且不同时为 1 的每一位,返回 1
。示例下面的示例对十进制的 15 和 9 使用按位 XOR 运算符,然后将结果赋予变量 x 。 // 15 decimal = 1111
binary // 9 decimal = 1001 binary x = 15 ^ 9 trace(x) // 1111 ^ 1001 =
0110 // returns 6 decimal( = 0110 binary)
6. << (按位向左移位)
可用性 Flash Player 5 。用法 expression1 << expression2 参数 expression1
要向左移位的数字或表达式。 expression2 将转换为从 0 到 31 之间整数的数字或表达式。返回无。说明运算符(按位);将
expression1 和 expression2 转换为 32 位整数,然后将 expression1 中的所有位向左移一定的位数,该位数由
expression2 转换而来的整数指定。由于此运算的结果而被清空的位上则填补 0 。将一个值向左移一位等效于将它乘以 2
。示例在下面的示例中,将整数 1 向左移 10 位。 x = 1 << 10 此运算的结果为 x = 1024 。这是因为十进制的 1 等于二进制的
1 ,二进制的 1 向左移 10 位是二进制的 10000000000 ,而二进制的 10000000000 就是十进制的 1024
。在下面的示例中,将整数 7 向左移 8 位。 x = 7 << 8 此运算的结果为 x = 1792 。这是因为十进制的 7 等于二进制的 111
,二进制的 111 向左移 8 位是二进制的 11100000000 ,而二进制的 11100000000 就是十进制的 1792 。另请参见
>>= (按位向右移位并赋值) >> (按位向右移位) <<= (按位向左移位并赋值)
7. >> (按位向右移位)
可用性 Flash Player 5 。用法 expression1 >> expression2 参数 expression1
要向右移位的数字或表达式。 expression2 将转换为从 0 到 31 之间整数的数字或表达式。返回无。说明运算符(按位);将
expression1 和 expression2 转换为 32 位整数,然后将 expression1 中的所有位向右移一定位数,该位数由
expression2 转换而来的整数指定。移到右侧的位被去掉。若要保留原 expression 的符号,则如果 expression1
的最高有效位(最左端的位)为 0 ,那么左侧的位都填补 0 ;如果最高有效位为 1 ,那么左侧的位都填补 1 。将一个值右移一位等效于将它除以 2
并去掉余数。示例下面的示例将 65535 转换为 32 位整数,然后右移 8 位。 x = 65535 >> 8 上述运算的结果如下所示: x =
255 这是因为十进制的 65535 等于二进制的 1111111111111111 ( 16 个 1 ),二进制的
1111111111111111 向右移 8 位是二进制的 11111111 ,而二进制的 11111111 是十进制的 255 。因为这个整数是
32 位的,最高有效位为 0 ,所以用 0 来填补位。下面的示例将 -1 转换为 32 位整数,然后右移 1 位。 x = -1 >> 1
上述运算的结果如下所示: x = -1 这是因为十进制的 -1 等于二进制的 11111111111111111111111111111111 (
32 个 1 ),向右移一位使得最低有效位(最右侧的位)被去掉而最高有效位被填补上 1 。结果为二进制的
11111111111111111111111111111111 ( 32 个 1 ),表示 32 位整数 -1 。另请参见 >>=
(按位向右移位并赋值)
8. >>> (按位无符号向右移位)
可用性 Flash Player 5 。用法 expression1 >>> expression2 参数 expression1
要向右移位的数字或表达式。 expression2 将转换为从 0 到 31
之间整数的数字或表达式。返回无。说明运算符(按位);除了由于左侧的位总是填补 0 而不保留原 expression 的符号外,该运算符与按位向右移位
( >> ) 运算符相同。示例下面的示例将 -1 转换为 32 位整数,然后右移 1 位。 x = -1 >>> 1 上述运算的结果如下所示: x
= 2147483647 这是因为十进制的 -1 是二进制的 11111111111111111111111111111111 ( 32 个 1
),当向右(无符号)移 1 位时,最低有效位(最右端的位)被去掉,而最高有效位(最左端的位)被填补上 0 。结果为二进制的
01111111111111111111111111111111 ,表示 32 位整数 2147483647 。另请参见 >>=
(按位向右移位并赋值)
比较运算符 : 执行比较的运算符
9. != (不等于)
可用性 Flash Player 5 。用法 expression1 != expression2 参数无。返回无。说明运算符(不等于);测试结果与
== 运算符正好相反。如果 expression1 与 expression2 相等,则结果为 false 。与 ==
运算符一样,的定义取决于所比较的数据类型。 - 数字、字符串和布尔值按值进行比较。 - 变量、对象、数组和函数按引用进行比较。示例下面举例说明 !=
运算符的结果: 5 != 8 返回 true 5 != 5 返回 false 此示例说明在 if 语句中 != 运算符的用法。 a =
"David"; b = "Fool" if (a != b){ trace("David is not a fool"); } 另请参见 !==
(不全等) == (等于) === (全等)
10. !== (不全等)
可用性 Flash Player 6 。用法 expression1 !== expression2 说明运算符;测试结果与 ===
运算符正好相反。除了不转换数据类型外,不全等运算符执行的运算与不等于运算符相同。如果 expression1 等于 expression2
,而且它们的数据类型也相同,则结果为 false 。与 === 运算符一样,的定义取决于所比较的数据类型。 - 数字、字符串和布尔值按值进行比较。
- 变量、对象、数组和函数按引用进行比较。示例下面的代码显示使用等于、全等和不全等运算符的运算所返回的值。 s1 = new
String("5"); s2 = new String("5"); s3 = new String("Hello"); n = new
Number(5); b = new Boolean(true); s1 == s2; // true s1 == s3; // false s1
== n; // true s1 == b; // false s1 === s2; // true s1 === s3; // false s1
=== n; // false s1 === b; // false s1 !== s2; // false s1 !== s3; // true
s1 !== n; // true s1 !== b; // true 另请参见 != (不等于) == (等于) === (全等)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多