原创设计 · PhotoShop · AI/CD · Fireworks · AutoCAD · 3DMAX · Flash · 网页设计 · 高精图库 · 笔刷滤镜 · 矢量素材 · 图片素材 · 模板素材· CG素材 · 思缘相册
加入VIP,免费下载精美素材 · PS新手学习推荐教程 · PS教程 · PS探讨和提问 · 思缘求图 · 数码暗房 · 设计作品欣赏 · 设计理论 · PSD素材 · 摄影作品交流 · 素材求助区

900G矢量素材,PSD设计图库
设计优秀作品十二期/新手学习贴
加入VIP,即送3000缘分币,每月500
 下载素材,加入VIP,享受更多权限
 27 123
发新话题
打印

[AS教程] FLASH语法合集之二、运算符(Operators)(内含实例代码原文件)方便大家学习参考

FLASH语法合集之二、运算符(Operators)(内含实例代码原文件)方便大家学习参考

二、运算符(Operators)

本帖隐藏的内容需要回复才可以浏览


% 求余数 (modulo)
  功能说明:余数运算符(modulus)可求得两个数值相除的余数,如果整除则返回0。
  语法:expression1 % expression2
  expression1,expression2: 操作数,可为变量,数值,或表达式
  注意:1)若表达式使用 % 运算符,4.0版的swf会把 % 视为 x-int(x/y)*y, 因此运算速度可能会慢于输出成5.0版的swf。
        2)求得的余数可能会有小数点,例如 3.8 % 1.2所得的余数为0.2。

() 括号 (parentheses)
  功能说明:执行群组运算,或是标示函数使用的自变量(arguments)并且把自变量的值传给函数本身所包含的程序执行。
  语法:(expression1,expression2);
        function(functioncall1,...,functioncallN);
  expression1,expression2: 操作数,可为变量,数值,或表达式
  function: 被执行的函数
  functioncall1,...,functioncallN: 本身可用的自变量(arguments)的值

* 乘号 (multiplication)
  功能说明:标准算术运算符(standard arithmetic operator)包括加(+),减(-),乘(*),除(/)四个运算符。
  语法:expression1 * expression2
  expression1,expression2: 操作数,可为变量,数值,或表达式

+ 加号 (addition)
  功能说明:把两个数值或表达式的值相加,如果是字符串,就会合并两个字符串的内容。
  语法:expression1 + expression2
  expression1,expression2: 变量,整数,小数或字符串
  注意: 1) flash 4的比较运算符 + 只能比较数值。
         2) flash 4的程序转换成flash 5的时候,程序会自动把比较运算符号 + 左右两边的expressions同时加上number()。
         3) 例如:  程序转换前:     x+y
                     程序转换后:     Number(x) + Number(y)

++ 递增运算符 (increment)
  功能说明:递增运算符 ++ (increment operator) 可返回变量加 1 的值。
  语法:expression++
        ++expression
  expression: 操作数,可为变量,数值,或表达式
  注意: 1)假设 x=0;y=0;
         2)如果 ++ 摆在操作数后面(x=y++),表示先和其他运算符运算过后(先执行x=y),然后y本身再增加1(后执行y++),所得的值x=0,y=1。
         3)如果 ++ 摆在操作数前面(x=++y),表示y先增加1后(先执行y++),再和其他运算符运算(后执行x=y),所得的值x=1,y=1。

- 减号/取负数 (minus)
  功能说明:标准算术运算符(standard arithmetic operator)包括加,减,乘,除四个运算符。减号同时也可以使用在取表达式的负数(unary megation operator)。
  语法:(减  号): expression1-expression2
        (取负数): -expression;
  expression1,expression2: 操作数,可为变量,数值,或表达式

-- 递减运算符 (decrement)
  功能说明:递减运算符 -- (decrement operator) 可返回变量减 1 的值。
  语法:expression--
        --expression
  expression: 操作数,可为变量,数值,或表达式
  注意: 1)假设 x=0;y=0;
         2)如果 -- 摆在操作数后面(x=y--),表示先和其他运算符运算过后(先执行x=y),然后y本身再减去1(后执行y--),所得的值x=0,y=-1。
         3)如果 -- 摆在操作数前面(x=--y),表示y先减去1后(先执行y--),再和其他运算符运算(后执行x=y),所得的值x=-1,y=-1。

/ 除号 (division)  功能说明:标准算术运算符(standard arithmetic operator)包括加(+),减(-),乘(*),除(/)四个运算符。
  语法:expression1 / expression2
  expression1,expression2: 操作数,可为变量,数值,或表达式

! 反逻辑(logical NOT)
  功能说明:转换表达式的布尔值,若表达式的布尔值为(true)则返回false,否则返回true。
  语法:!expression
  expression:  变量或表达式

&& 逻辑乘积 (short-circuit AND)
  功能说明:使用布尔值(boolean)为操作数,运算 && 左右两边的表达式,若两边表达式都成立(true)则 && 返回true,否则返回false。
  语法:expression1 && expression2
  expression1,expression2: 变量,数值,字符串,函数
  
  逻辑运算表:   A        B        A&&B
                    true       true           true
                    true       false          false
                    false      true           false
                    false      false          false

and 逻辑乘积
    功能说明:使用布尔值(boolean)为操作数,运算and左右两边的表达式,若两边表达式都成立(true)则&&返回true,否则返回false。
  语法:condition1 and condition2
  condition1,condition2: 变量,数值,字符串,函数
  注意: flash 5里已经不建议使用and,并且建议使用&&运算符代替原有的and。

  逻辑运算表:   A        B      A and B
                    true       true         true
                    true       false        false
                    false      true         false
                    false      false        false

not 反逻辑
  功能说明:转换表达式的布尔值,若表达式的布尔值为(true)则返回false, 否则返回true。
  注意: flash 5里已经不建议使用not,并且建议使用!运算符代替原有的not。

or 逻辑和
    功能说明:使用布尔值(boolean)为操作数,运算or左右两边的表达式,若两边表达式只要有一边成立(true)则返回true,否则返回false。
  语法:expression1 or expression2
  expression1,expression2: 布尔值或表达式
  注意: flash 5里已经不建议使用or,并且建议使用||运算符代替原有的or。

  逻辑运算表:   A        B       A or B
                    true       true       true
                    true       false       true
                    false      true        true
                    false      false       false

|| 逻辑和 (or)
  功能说明:使用布尔值(boolean)为操作数,运算or左右两边的表达式,若两边表达式只要有一边成立(true)则返回true,否则返回false。
  语法:expression1 || expression2
  expression1,expression2: 布尔值或表达式

  逻辑运算表:   A        B          A || B
                    true        true           true
                    true        false          true
                    false       true           true
                    false       false          false

? : 条件判断(conditional)
  功能说明:属于三元运算符,需要三个操作数,若条件成立则把第二操作数的值指定给第一操作数,若条件不成立则把第三操作数的值指定给第一操作数。
  语法:expression1 ? expression2 : expression3;
  expression1: 表达式,求出表达式的布尔值
  expression2,expression3: 任何类型的数值

!= 不等于 (inequality)
  功能说明:比较左右的表达式是否不相等,若不相等则返回true,相等则返回false。
  语法:expression1 != expression2
  expression1,expression2: 数值,字符串,变量,布尔值,对象,数组,函数。

> 大于 (greater than)
  功能说明:比较左右的数值或字符串,以数值而言,若左边数值大于右边数值则返回true,否则返回false; 字符串而言,左边字符串长度大于右边字符串长度则返回true,否则返回false。
  语法:expression1 > expression2
  expression1,expression2: 数值或字符串
  注意: 1) flash 4的比较运算符" > "只能比较数值。
         2) flash 4的程序转换成flash 5的时候,程序会自动把比较运算符" > "左右两边的expressions同时加上number()。
         3) 例如:   程序转换前:       x > y
                      程序转换后:       number(x) > number(y)

>= 大于等于 (greater than or equal to)
  功能说明:比较左右的数值或字符串,以数值而言,若左边数值大于右边数值则返回true,否则返回false; 字符串而言,左边字符串长度大于右边字符串长度则返回true,否则返回false。
  语法:expression1 >= expression2
  expression1,expression2: 数值或字符串
  注意: 1) flash 4的比较运算符" >= "只能比较数值。
         2) flash 4的程序转换成flash 5的时候,程序会自动把比较运算符" >= "左右两边的expressions同时加上number()。
         3) 例如:   程序转换前:       x >= y
                      程序转换后:       number(x) >= number(y)

< 小于 (less than)
  功能说明:比较左右的数值或字符串,以数值而言,若左边数值小于右边数值则返回true,否则返回false; 字符串而言,左边字符串长度小于右边字符串长度则返回true,否则返回false。
  语法:expression1 < expression2
  expression1,expression2: 数值或字符串
  注意: 1) flash 4的比较运算符" < "只能比较数值。
         2) flash 4的程序转换成flash 5的时候,程序会自动把比较运算符" < "左右两边的expressions同时加上number()。
         3) 例如:   程序转换前:       x < y
                      程序转换后:       number(x) < number(y)

<= 小于等于 (less than equal to)
  功能说明:比较左右的数值或字符串,以数值而言,若左边数值小于或等于右边数值则返回true,否则返回false; 字符串而言,左边字符串长度小于或等于右边字符串长度则返回true,否则返回false。
  语法:expression1 <= expression2
  expression1,expression2: 数值或字符串
  注意: 1) flash 4的比较运算符" <= "只能比较数值。
         2) flash 4的程序转换成flash 5的时候,程序会自动把比较运算符" <= "左右两边的expressions同时加上number()。
         3) 例如:   程序转换前:       x <= y
                      程序转换后:       number(x) <= number(y)

<> 不等于(inequality)
  功能说明:比较左右的表达式是否不相等,若不相等则返回true,相等则返回false。
  语法:expression1 <> expression2
  expression1,expression2: 数值、字符串、变量、布尔值、对象、数组、函数。
  注意: flash 5里已经不建议使用 <> 运算符,并且建议使用 != 代替原有的 <> 。

==  等于(equality)
  功能说明:比较左右的表达式是否相等,若相等则返回true,不相等则返回false。
  语法:expression1 == expression2
  expression1,expression2: 数值、字符串、变量、布尔值、对象、数组、函数。

tepeof 数据类型
  功能说明:传回指定的数据类型
  语法:typeof(expression);
  expression: 数值、字符串、电影短片、对象、函数。

void 不返回值
  功能说明:不返回任何值的运算符
  语法:void(expression);
  expression: 任何数据类型的表达式

& 逻辑与(bitwise AND)
  功能说明:将操作数转换成32位的二进制整数,相对位执行逻辑与运算,若两操作数的位均为1,则返回1,否则传回0,最后以标准数值回传结果。
  语法:expression1 & expression2
  expression1,expression2: 任何数值
  注意: 1) & 运算符在flash 4里是用来连接字符串,而非逻辑乘运算,flash 5是使用add或+运算符连接字符串。
         2) 版本转换的时候,会自动把程序里的& 转换成add。

   位逻辑运算表:   
              A      B     A & B       A|B     A^B
               0        0            0            0           0
               0        1            0            1           1
               1        0            0            1           1
               1        1            1            1           0

   位逻辑与的运算结果:
            十进制                  二进制 (32bit)                   结果
              21                         0...00  00010101
              13                         0...00  00001101
             21&13                      0...00  00000101                           5

<<  向左位移 (bitwise left shift)
  功能说明:将操作数转换成32位的二进制整数,执行向左位移运算,最后以标准数值返回结果。
  语法:expression1 << expression2
  expression1: 数值,字符串,或表达式
  expression2: 位移数,数字从0到31。
  
  向左位移运算结果:
        十进制                  二进制(32bit)                   结果
          21                         0...00  00010101
         21<<3                       0...00  10101000                      168
          -21                        1...11  11101011
        -21<<3                       1...11  01011000                      -168

>>  符号右移 (bitwise right shift)
  功能说明:将操作数转换成32位的二进制整数,执行向右位移运算,最后以标准数值返回结果。
  语法:expression1 >> expression2
  expression1: 数值,字符串,或表达式
  expression2: 位移数,数字从0到31。
  
  向左位移运算结果:
        十进制                  二进制(32bit)                   结果
          21                        0...00  00010101
         21>>3                      0...00  00000010                      2
          -21                       1...11  11101011
        -21>>3                      1...11  11111101                      -3

>>>  填零右移 (bitwise unsigned right shift)
  功能说明:将操作数转换成32位的二进制整数,执行填零右移运算,最后以标准数值返回结果。
  语法:expression1 >>> expression2
  expression1: 数值,字符串,或表达式
  expression2: 位移数,数字从0到31。
  
  向左位移运算结果:
        十进制                  二进制(32bit)                   结果
          21                             0...00  00010101
        21>>>3                           0...00  00000010                    2
          -21                             1...11  11101011
       -21>>>3                            00011111  11111111  11111111  11111101     536870909

^ 逻辑异或(bitwise XOR)
  功能说明:将操作数转换成32位的二进制整数,相对位执行逻辑异或运算,若两操作数的位均为1 或均为0 则返回1 ,否则返回0 ,最后以标准数值回传结果。
  语法:expression1 ^ expression2
  expression1,expression2: 任何数值

    逻辑运算表:
              A        B          A & B         A|B         A^B
                0           0              0              0               0
                0           1              0              1               1
                1           0              0              1               1
                1           1              1              1               0
    逻辑异或的位运算结果:
            十进制                  二进制 (32bit)                   结果
               21                           0...00  00010101
               13                           0...00  00001101
              21&13                        0...00  00011000                          24

| 逻辑或(bitwise OR)
  功能说明:将操作数转换成32位的二进制整数,相对位执行逻辑或运算,若两操作数有一位为1 则返回1 ,否则返回0 ,最后以标准数值回传结果。
  语法:expression1 | expression2
  expression1,expression2: 任何数值

    逻辑运算表:
              A        B          A & B         A|B         A^B
                 0          0              0               0              0
                 0          1              0               1              1
                 1          0              0               1              1
                 1          1              1               1              0
    逻辑异或的位运算结果:
            十进制                  二进制 (32bit)                   结果
               21                          0...00  00010101
               13                          0...00  00001101
              21&13                       0...00  00011101                           29

~ 逻辑非(bitwise NOT)
  功能说明:将操作数转换成32位的二进制整数,并执行非逻辑运算,若操作数的位为1 则返回0 ,否则返回1 ,最后以标准数值回传结果。
  语法:~expression
  expression: 任何数值
  注意: 1) 0逻辑非运算的值为-1
         2) 1逻辑非运算的值为-2
         3) 速算公式: 改变原始值的正负符号后再减1。

= 赋值(assignment)
  功能说明:把右边表达式的值赋给左边的变量、数组元素、对象属性。
  语法:expression1=expression2
  expression1: 变量、数组元素、对象属性
  expression2: 各种数据类型的值
  注意: 1) flash 4 的赋值运算符=只能赋值数值。
         2) flash 4 的程序转换成flash 5的时候,程序会自动把比较运算符=左右两边的expressions同时加上number()。
         3) 例如:   程序转换前:       x=y
                      程序转换后:     number(x)=number(y)

%= 赋值余数(modulo assignment)
  功能说明:先求得两个数值相除的余数,然后再把所得的值赋给左边的变量。
  语法: expression1 %= expression2
  expression1,expression2: 变量和数值

&= 赋值逻辑与(bitwise AND assignment)
  功能说明:将操作数转换成32位的二进制整数,相对位执行逻辑与运算,若两操作数的位均为1 则返回1 ,否则返回0 ,最后以标准数值赋给左边的变量。
  语法:expression1 &= expression2
  expression1,expression2: 数值和变量

  逻辑与的位运算结果:
            十进制                  二进制 (32bit)                   结果
              21                          0...00  00010101
              13                          0...00  00001101
             21&13                       0...00  00000101                            5

*= 赋值余数(multiplication assignment)
  功能说明:先求得两个数值相乘的乘积,然后再把所得的值赋给左边的变量。
  语法: expression1 *= expression2
  expression1,expression2: 变量和数值

+= 赋值总和(addition assignment)
  功能说明:先求得两个数值相加的总和,然后再把所得的值赋给左边的变量。如果是字符串,就会先合并两个字符串,然后再把所得的新字符串赋给左边的变量。
  语法:expression1 += expression2
  expression1,expression2: 变量,整数,小数,字符串

-= 赋值差额(negation assignment)
  功能说明:先求得两个数值相减的差,然后再把所得的值赋给左边的变量。
  语法:expression1 -= expression2
  expression1,expression2: 变量,整数,小数,字符串

/= 赋值商数(division assignment)
  功能说明:先求得两个数值相除的值,然后再把所得的值赋给左边的变量。
  语法:expression1 /= expression2
  expression1,expression2: 变量,整数,小数,字符串

<<=  赋值向左位移 (bitwise left shift assignment)
  功能说明:将操作数转换成32位的二进制整数,执行向左位移运算,最后以标准数值赋给左边的结果。
  语法:expression1 <<= expression2
  expression1: 数值,字符串,或表达式
  expression2: 位移数,数字从0到31。
  
  向左位移运算结果:
        十进制                  二进制(32bit)                   结果
          -21                        1...11  11101011
        -21<<3                       1...11  01011000                      -168

>>=  赋值向右位移 (bitwise right shift assignment)
  功能说明:将操作数转换成32位的二进制整数,执行向右位移运算,最后以标准数值赋给左边的结果。
  语法:expression1 >>= expression2
  expression1: 数值,字符串,或表达式
  expression2: 位移数,数字从0到31。
  
  向右位移运算结果:
        十进制                  二进制(32bit)                   结果
           21                         0...00  00010101
         21>>3                       0...00  00000010                        2

>>>=  赋值填零右移 (bitwise unsigned right shift assignment)
  功能说明:将操作数转换成32位的二进制整数,执行填零右移运算,最后以标准数值返回结果。
  语法:expression1 >>>= expression2
  expression1: 数值,字符串,或表达式
  expression2: 位移数,数字从0到31。
  
  填零位移运算结果:
        十进制                  二进制(32bit)                   结果
           -21                        1...11  11101011
        -21>>>3                       00011111  11111111  11111111  11111101     536870909

^= 逻辑异或(bitwise XOR assignment)
  功能说明:将操作数转换成32位的二进制整数,相对位执行逻辑异或运算,若两操作数的位均为1 或均为0 则返回1 ,否则返回0 ,最后以标准数值赋给左边的变量。
  语法:expression1 ^= expression2
  expression1,expression2: 数值,变量

    逻辑异或的运算结果:
            十进制                  二进制 (32bit)                   结果
               21                         0...00  00010101
               13                         0...00  00001101
              21&13                      0...00  00011000                             24

|= 赋值逻辑或(bitwise OR assignment)
  功能说明:将操作数转换成32位的二进制整数,相对位执行逻辑或运算,若两操作数有一位为1 则返回1 ,否则返回0 ,最后以标准数值赋值给左边的变量。
  语法:expression1 |= expression2
  expression1,expression2: 数值或变量

     逻辑与的位运算结果:
            十进制                  二进制 (32bit)                   结果
              21                        0...00  00010101
              13                        0...00  00001101
             21&13                     0...00  00011101                             29

add 合并字符串
  功能说明:合并两个字符串的内容。
  语法:string1 add string2
  string1,string2: 任何字符串
  注意: 1) 在flash 4里,& 运算符是用来连接字符串,在flash 5里为逻辑或运算符。
         2) flash 5是使用add或+运算符连接字符串。
         3) 版本转换的时候,会自动使用add取代程序里的 & 。
         4) 然而在flash 5里并不建议使用add运算符,并且建议必用 + 代替add。

eq 等于 (equality)
  功能说明:比较左右的表达式是否相等,若相等则返回true,不相等则返回false。
  语法:expression1 eq expression2
  expression1,expression2: 数值,字符串,变量
  注意: flash 5里已经不建议使用eq 运算符,并且建议使用==代替原有的eq。

ge 大于等于 (greater than or equal to)
    功能说明:比较左右的数值或字符串,以数值而言,若左边数值大于或等于右边数值则返回true 。否则返回false ;以字符串而言,左边字符串长度大于或等于右边字符串长度则返回true ,否则返回false。
  语法:expression1 ge expression2
  expression1,expression2: 数值或字符串
  注意: flash 5里已经不建议使用 ge 运算符,并且建议使用>= 代替原有的ge。

gt 大于 (greater than)
    功能说明:比较左右的数值或字符串,以数值而言,若左边数值大于右边数值则返回true 。否则返回false ;以字符串而言,左边字符串长度大于右边字符串长度则返回true ,否则返回false。
  语法:expression1 gt expression2
  expression1,expression2: 变量,数值或字符串
  注意: flash 5里已经不建议使用 gt 运算符,并且建议使用> 代替原有的gt。

le 小于等于 (less than or equal to)
  功能说明:比较左右的数值或字符串,以数值而言,若左边数值小于或等于右边数值则返回true 。否则返回false ;以字符串而言,左边字符串长度小于或等于右边字符串长度则返回true ,否则返回false。
  语法:expression1 le expression2
  expression1,expression2: 变量,数值或字符串
  注意: flash 5里已经不建议使用 le 运算符,并且建议使用<= 代替原有的le。

lt 小于 (less than)
    功能说明:比较左右的数值或字符串,以数值而言,若左边数值小于右边数值则返回true 。否则返回false ;以字符串而言,左边字符串长度小于右边字符串长度则返回true ,否则返回false。
  语法:expression1 lt expression2
  expression1,expression2: 变量,数值或字符串
  注意: flash 5里已经不建议使用 lt 运算符,并且建议使用 < 代替原有的lt。

ne 不等于 (inequality)
  功能说明:比较左右的表达式是否不相等,若不相等则返回 true,相等则返回 false。
  语法:expression1 ne expression2
  expression1,expression2: 变量,数值或字符串
  注意: flash 5里已经不建议使用 ne 运算符,并且建议使用 != 代替原有的 ne。



以上内容由小飞侠亲自手打,历时4天时间,希望大家多多支持FLASH动画专区!



TOP

我自己先抢个沙发,大家不要和我抢啊



TOP

这次来个早,呵呵。。。谢谢了哟。但愿下载的程序不要有毒哟,我都怕了哟。



TOP

3Q,抱走 abc::69



TOP

哈哈~~、学习下啊



TOP

楼主好啊

楼主辛苦了!!!!1



TOP

最近正在努力学习FLASH,不过还是没有头绪



TOP

哇,什么东西吖,太恐怖了。



TOP

回复 楼主 小飞侠 的帖子

辛苦了,加油 支持



TOP

谢谢分享



TOP

 27 123
发新话题


关于本站 广告服务 联系我们 版权隐私 合作站点 网站地图 免责申明 管理团队

Powered by Discuz!6.0.0 Copyright © 2008 www.missyuan.com All rights reserved.