Flash5 ActionScript语法详解

Flash5 ActionScript语法详解

一、运算符
1.算术运算符



2.逻辑运算符


说明:在使用&&(||)时,若表达式expression1已为false(true)值,则不再计算expression2的值,直接返回false(true)。否则,继续计算expression2的值,再作逻辑与(或)运算。
3.字符串运算符


说明:字符串在比较时,按从左到右一个个字符比较ASCII码。若遇到不同,就返回ASCII码大小比较的结果。如果直到一个字符串结束时都相等,若另一个字符串也结束,就表示相等,否则,未结束的字符串较大。
虽然字符串运算符可用相应的符号表示,但在使用上有一定区别。用字母表示的运算符在处理时先将两个表达式都转化为字符串后再作运算或比较。而用符号表示的运算符在处理时若有一个表达式为数值,就将另一个表达式转化为数值再作运算或比较。比如:19 > 2的值为true,而19 > 2的值为false。
4.位运算符

说明:按位运算表示将两个表达式的值转化为数值后按二进制的位进行运算。比如12 & 34 -> 2,由于12的二进制为01010,34的二进制为10010,所以按位与后为00010即2。按位移动时num的取值为0~31。
5.赋值运算符

说明:自加和自减的两种用法在返回值上有区别。variable++(--)返回variable未更改前的值,++(--)variable返回variable更改后的值。
6.括号运算符
(1)( ) 小括号:
用法1:用于重置表达式运算的优先级。
如:(a + 3) * 4
用法2:用于包含函数的参数。
如:function func(var1, var2) {...}
date = getDate();
(2)[ ] 中括号:
用法1:用于定义及初始化数组。
如:myArray = [] <=> myArray = new Array()
myArray = ["red", "orange", "yellow">
用法2:用于获取数组中的项。
如:myArray[0] = "red"
用法3:用于获取对象或影片片段的成员。
如:account = myObject["account"> <=> account = myObject.account
_root["mc" + 1]["_x"> = 30 <=> _root.mc1._x = 30
(3){ } 大括号:
用法1:用于界定语句段范围(用在复合语句与函数体定义中)。
如:if (a == 2) {a = 3; b = 4; ...}
function myFunc() {...}
用法2:用于定义及初始化对象。
如:myObj = {} <=> myObject = new Object()
person = {name:"Peter", child:"Amy"}
二、语法关键字及语句
1.指令语句


2.判断语句({}内语句数为1时{}可省)
if (expression1) {
statement(s)1
} else if (expression2) {
statement(s)2
...
} else {
statement(s)n
}
当expression1为true时执行statement(s)1,当expression2为true执行
statement(s)2......否则执行statement(s)n。{}内语句数为1时{}可省。

ifFrameLoaded ([scene,] frame) {
statement(s)
}
当场景scene的帧frame已经载入时,执行statement(s)。
3.循环语句({}内语句数为1时{}可省)
while (expression) {
statement(s)
}
当expression的值为true时反复执行statement(s)直到expression的值为false。

do {
statement(s)
} while (expression)
反复执行statement(s)直到expression为false。{}内语句数为1时{}可省。

for (statement1; expression; statement2) {
statements(s)
}
先执行statement1,当expression的值为true时反复执行statement(s),并在执行完一轮后执行一次statement2,直到expression的值为false。

for (variable in obj_mc) {
statements(s)
}
variable依次取obj_mc的各成员名称,反复执行statements(s),直到所有成员都取过一遍。

4.对象操作语句({}内语句数为1时{}可省)
with (obj_mc) {
statement(s)
}
对obj_mc进行操作,凡statement(s)里用到的与obj_mc的成员名相同的变量、函数、影片片段,都指代obj_mc的成员。

tellTarget (mc) {
statement(s)
}
对mc进行操作,凡用到的变量、函数、影片片段,只要未指明绝对路径,都指代mc的成员。
5.函数及事件
function func(variable1, variable2, ...) {
statement(s)
}
定义一个函数。函数体内this对象指代调用该函数的对象或影片片段,未用var定义的变量(非形参)从属于该函数所在的影片片段。func名称省略时该复合语句返回一个类型为"function"的值,用以指代该函数。

on (mouseEvent) {
statement(s)
}
只能用在按钮的动作里。mouseEvent的可取值为:
press:鼠标键在按钮上按下。
release:鼠标键在按钮上松开。
releaseOutside:鼠标键在按钮区域外松开。
rollOver:鼠标滑过按钮。
rollOut:鼠标滑出按钮。
dragOver:鼠标有键按下时滑过按钮。
dragOut:鼠标有键按下时滑出按钮。
keyPress(key):key键被按下,key为ASCII码字符或Key对象常量各事件可用逗号分隔,当有一事件成立时就执行statement(s)。

onClipEvent (clipEvent) {
statement(s)
}
只能用在影片片段的动作里。clipEvent的可取值为:
load:该影片片段已载入。
unload:该影片片段被卸载。
data:用loadVariableNum载入数据后或用loadMovie载入影片的每个影片片段后。
enterFrame:播放至该影片片段所在帧(若停在该帧则反复执行)。
mouseMove:鼠标移动。
mouseDown:鼠标键按下。
mouseUp:鼠标键松开。
keyDown:键盘键按下。
keyUp:键盘键松开。
各事件可用逗号分隔,当有一事件成立时就执行state ment(s)。
三、常量及全局函数
1.常量


2.数值运算函数

注:函数名前加=号的表示该函数有返回值。
3.字符串运算函数

注意:字符串按双字节字符处理时,双字节字符(如中文字符)代表一个整体。比如字符串“I'm 自在幻想”,用在length函数时返回12,而用在mblength函数时返回8。
四、影片及影片片段属性
1.影片片段可改属性

2.影片片段只读属性