FlashActionScript30语言和组件参考运算符.docx
《FlashActionScript30语言和组件参考运算符.docx》由会员分享,可在线阅读,更多相关《FlashActionScript30语言和组件参考运算符.docx(122页珍藏版)》请在冰豆网上搜索。
FlashActionScript30语言和组件参考运算符
符号运算符是指定如何组合、比较或修改表达式值的字符。
算术
+
addition
加上数字表达式。
--
decrement
操作数减去1。
/
division
expression1除以expression2。
++
increment
将表达式加1。
%
modulo
计算expression1除以expression2的余数。
*
multiplication
将两个数值表达式相乘。
-
subtraction
用于执行求反或减法运算。
算术组合赋值
+=
additionassignment
将expression1+expression2的值赋给expression1。
/=
divisionassignment
将expression1/expression2的值赋给expression1。
%=
moduloassignment
将expression1%expression2的值赋给expression1。
*=
multiplicationassignment
将expression1*expression2的值赋给expression1。
-=
subtractionassignment
将expression1-expression2的值赋给expression1。
赋值
=
assignment
将expression2(右侧的操作数)的值赋予expression1中的变量、数组元素或属性。
按位
&
bitwiseAND
将expression1和expression2转换为32位无符号整数,并对整数参数的每一位执行布尔AND运算。
<<
bitwiseleftshift
将expression1和shiftCount转换为32位整数,并将expression1中的所有位向左移动由shiftCount转换所得到的整数指定的位数。
~
bitwiseNOT
将expression转换为一个32位带符号整数,然后按位对1求补。
|
bitwiseOR
将expression1和expression2转换为32位无符号整数,并在expression1或expression2的对应位为1的每个位的位置上放置1。
>>
bitwiserightshift
将expression和shiftCount转换为32位整数,并将expression中的所有位向右移动由shiftCount转换所得到的整数指定的位数。
>>>
bitwiseunsignedrightshift
此运算符与按位向右移位运算符(>>)基本相同,只是此运算符不保留原始表达式的符号,因为左侧的位始终用0填充。
^
bitwiseXOR
将expression1和expression2转换为32位无符号整数,并在expression1或expression2中对应位为1(但不是在两者中均为1)的每个位的位置上放置1。
按位组合赋值
&=
bitwiseANDassignment
对expression1赋予expression1&expression2的值。
<<=
bitwiseleftshiftandassignment
执行按位向左移位(<<=)运算,并将内容作为结果存储在expression1中。
|=
bitwiseORassignment
将expression1|expression2的值赋给expression1。
>>=
bitwiserightshiftandassignment
执行按位向右移位运算,并将结果存储在expression中。
>>>=
bitwiseunsignedrightshiftandassignment
执行无符号按位向右移位运算,并将结果存储在expression中。
^=
bitwiseXORassignment
将expression1^expression2的值赋给expression1。
注释
/*..*/
blockcommentdelimiter
分隔一行或多行脚本注释。
//
linecommentdelimiter
指示脚本注释的开始。
比较
==
equality
测试两个表达式是否相等。
>
greaterthan
比较两个表达式,并确定expression1是否大于expression2;如果是,则结果为true。
>=
greaterthanorequalto
比较两个表达式,确定expression1是大于或等于expression2(true)还是expression1小于expression2(false)。
!
=
inequality
测试结果是否与等于运算符(==)正好相反。
<
lessthan
比较两个表达式,并确定expression1是否小于expression2;如果是,则结果为true。
<=
lessthanorequalto
比较两个表达式,并确定expression1是否小于等于expression2;如果是,则结果为true。
===
strictequality
测试两个表达式是否相等,但不执行自动数据转换。
!
==
strictinequality
测试结果与全等运算符(===)正好相反。
逻辑
&&
logicalAND
如果expression1为false或可以转换为false,则返回该表达式;否则,返回expression2。
&&=
logicalANDassignment
将expression1&&expression2的值赋给expression1。
!
logicalNOT
对变量或表达式的布尔值取反。
||
logicalOR
如果expression1为true或可以转换为true,则返回该表达式;否则,返回expression2。
||=
logicalORassignment
将expression1||expression2的值赋给expression1。
其它
[]
arrayaccess
用指定的元素(a0等)初始化一个新数组或多维数组,或者访问数组中的元素。
as
计算第一个操作数指定的表达式是否为第二个操作数指定的数据类型的成员。
comma
计算expression1,然后计算expression2,依此类推。
?
:
conditional
计算expression1,如果expression1的值为true,则结果为expression2的值;否则,结果为expression3的值。
delete
破坏由reference指定的对象属性;如果在运算完成后该属性不存在,则结果为true;否则,结果为false。
.
dot
访问类变量和方法,获取并设置对象属性并分隔导入的包或类。
in
计算属性是否为特定对象的一部分。
instanceof
计算表达式的原型链是否包括function的原型对象。
is
计算对象是否与特定数据类型、类或接口兼容。
:
:
namequalifier
标识属性、方法或XML属性或特性的命名空间。
new
对类实例进行实例化。
{}
objectinitializer
创建一个新对象,并用指定的name和value属性对初始化该对象。
()
parentheses
对一个或多个参数执行分组运算,执行表达式的顺序计算,或者括住一个或多个参数并将它们作为参量传递给括号前面的函数。
/
RegExpdelimiter
如果用在字符之前和之后,则表示字符具有字面值,并被视作一个正则表达式(RegExp),而不是一个变量、字符串或其它ActionScript元素。
:
type
用于指定数据类型;此运算符可指定变量类型、函数返回类型或函数参数类型。
typeof
计算expression并返回一个指定表达式的数据类型的字符串。
void
计算表达式,然后放弃其值,返回undefined。
字符串
+
concatenation
连接(合并)字符串。
+=
concatenationassignment
将expression1+expression2的值赋给expression1。
"
stringdelimiter
如果用在字符之前和之后,则表示字符具有字面值,并被视作一个字符串,而不是一个变量、数值或其它ActionScript元素。
XML
@
attributeidentifier
标识XML或XMLList对象的属性。
{}
braces(XML)
计算在XML或XMLList初始值设定项中使用的表达式。
[]
brackets(XML)
访问XML或XMLList对象的属性或特性。
+
concatenation(XMLList)
将XML或XMLList值连接(合并)到XMLList对象中。
+=
concatenationassignment(XMLList)
对XMLList对象expression1赋予expression1+expression2的值。
delete(XML)
删除由reference指定的XML元素或属性。
..
descendantaccessor
定位到XML或XMLList对象的后代元素,或(结合使用@运算符)查找匹配的后代属性。
.
dot(XML)
定位到XML或XMLList对象的子元素,或(结合使用@运算符)返回XML或XMLList对象的属性。
()
parentheses(XML)
计算E4XXML构造中的表达式。
<>
XMLliteraltagdelimiter
在XML文本中定义XML标签。
运算符详细信息
+ addition
运算符
用法
expression1+expression2
语言版本:
ActionScript3.0
运行时版本:
FlashPlayer9
加上数字表达式。
两个表达式都为整数时,和为整数;其中一个或两个表达式为浮点数时,和为浮点数。
如果其中一个表达式为字符串,则所有其它表达式都被转换为字符串,然后连接起来,而不是进行求和。
否则,如果表达式不是数字,Flash®Player会将其转换为数字。
操作数
expression1:
Number—要加上的值。
expression2:
Number—要加上的值。
结果
Number—一个整数或浮点数。
示例
如何使用示例
下面的语句将整数2和3相加:
trace(2+3);//5
下面的语句将浮点数2.5与3.25相加:
trace(2.5+3.25);//5.75
下例说明如果其中一个表达式为字符串,则所有其它表达式都被转换为字符串,然后连接起来:
trace("Number"+8+0);//Number80
与动态和输入文本字段相关联的变量是字符串数据类型。
在以下示例中,变量deposit是舞台上的一个输入文本字段。
在用户输入存款数目后,该脚本尝试将deposit添加到oldBalance。
然而,由于deposit的类型是String,因此脚本连接(合并成一个字符串)变量的值,而不是对它们求和。
varoldBalance:
Number=1345.23;
varcurrentBalance=deposit_txt.text+oldBalance;
trace(currentBalance);
例如,如果用户在deposit文本字段中输入475,则trace()语句将值4751345.23发送到撌涑觥泵姘濉若要更正这一点,请使用Number()函数将字符串转换为数字,如下所示:
varoldBalance:
Number=1345.23;
varcurrentBalance:
Number=Number(deposit_txt.text)+oldBalance;
trace(currentBalance);
另请参见
+(concatenation)
+= additionassignment
运算符
用法
expression1+=expression2
语言版本:
ActionScript3.0
运行时版本:
FlashPlayer9
将expression1+expression2的值赋给expression1。
例如,以下两个语句的结果是相同的:
x+=y;
x=x+y;
加法运算符(+)的所有规则适用于加法赋值运算符(+=)。
操作数
expression1:
Number—一个数字。
expression2:
Number—一个数字。
结果
Number—加法运算的结果。
示例
如何使用示例
下例说明加法赋值运算符(+=)的数值用法:
varx:
Number=5;
vary:
Number=10;
x+=y;
trace(x);//15
另请参见+(addition)
[] arrayaccess
运算符
用法
myArray=[a0,a1,...aN]
myArray[i]=value
myObject[propertyName]
运行时版本:
FlashPlayer9
用指定的元素(a0等)初始化一个新数组或多维数组,或者访问数组中的元素。
数组访问运算符使您能够动态地设置和检索实例、变量和对象的名称。
它还使您能够访问对象属性。
用法1:
数组是一个对象,其属性称为元素,这些元素由名为索引的数字逐一标识。
创建数组时,需用数组访问([])运算符(即方括号)括住元素。
一个数组可以包含各种类型的元素。
例如,下面这个名为employee的数组包含三个元素;第一个元素是一个数字,另外两个元素是字符串(在引号内):
varemployee:
Array=[15,"Barbara","Jay"];
可以通过嵌套方括号来模拟多维数组。
您最多可以嵌套深度为256级的数组。
以下代码创建一个名为ticTacToe且含有三个元素的数组;其中每个元素也是一个具有三个元素的数组:
varticTacToe:
Array=[[1,2,3],[4,5,6],[7,8,9]];
/*SelectDebug>ListVariablesintestmode
toseealistofthearrayelements.*/
用法2:
用方括号([])括住每个元素的索引可直接对其进行访问;这样可以向数组添加新元素以及更改或检索现有元素的值。
数组中第一个索引始终是0,如下例所示:
varmy_array:
Array=newArray();
my_array[0]=15;
my_array[1]="Hello";
my_array[2]=true;
可以使用方括号来添加第四个元素,如下例所示:
my_array[3]="George";
可以使用方括号访问多维数组中的元素。
第一对括号标识原始数组中的元素,第二对括号标识嵌套数组中的元素。
下面的trace()语句查找第二个数组(索引1)的第三个元素(索引2)。
varticTacToe:
Array=[[1,2,3],[4,5,6],[7,8,9]];
trace(ticTacToe[1][2]);//6
用法3:
可以使用数组访问运算符来动态设置和检索对象的属性值:
varobj:
Object=newObject();
obj.prop1="foo";
trace(obj["prop"+1]);//foo
obj.prop2="bar";
for(jinobj){
trace(obj[j]);
}
/*Outputofforloop:
foo
bar*/
操作数
myArray:
Object—数组的名称。
a0,a1,...aN:
Object—数组中的元素;任何本机类型或对象实例,包括嵌套的数组。
i:
Number—大于等于0的整数索引。
myObject:
Object—对象的名称。
propertyName:
String—为对象的属性命名的字符串。
结果
Object—
用法1:
对一个数组的引用。
用法2:
数组中的一个值;本机类型或对象实例(包括数组实例)。
用法3:
对象的一个属性;本机类型或对象实例(包括数组实例)。
示例
如何使用示例
下例说明创建新的空Array对象的两种方法;第一行使用方括号:
varmy_array:
Array=[];
varmy_array:
Array=newArray();
下例创建一个名为employee_array且含有三个元素的数组,并更改该数组中的第三个元素。
varemployee_array=["Barbara","George","Mary"];
trace(employee_array);//Barbara,George,Mary
employee_array[2]="Sam";
trace(employee_array);//Barbara,George,Sam
在下例中,计算括号中的表达式,并将结果用作要从obj对象中检索的变量的名称:
varobj:
Object=newObject();
obj.prop1="foo";
obj.prop2="bar";
for(vari:
int=1;i<3;i++){
trace(obj["prop"+i]);
}
/*Outputofforloop:
foo
bar*/
另请参见
Arrayclass
Objectclass
as
运算符
用法
expressionasdatatype
语言版本:
ActionScript3.0
运行时版本:
FlashPlayer9
计算第一个操作数指定的表达式是否为第二个操作数指定的数据类型的成员。
如果第一个操作数是该数据类型的成员,则结果为第一个操作数。
否则,结果为null值。
第二个操作数所用表达式的计算结果必须为数据类型。
操作数
expression:
*—要针对指定的数据类型进行检查的值。
datatype:
Class—用于计算expression操作数的数据类型。
不能使用特殊的*类(即无类型)。
结果
Object—如果expression是在datatype中指定的数据类型的成员,则结果为expression。
否则,结果为null值。
示例
如何使用示例
下例创建一个名为myArray的简单数组,并将as运算符用于各种数据类型。
publicvarmyArray:
Array=["one","two","three"];
trace(myArrayasArray);//one,two,three
trace(myArrayasNumber);//null
trace(myArrayasint);//null
另请参见
instanceof
is
= assignment
运算符
用法
expression1=expression2
语言版本:
ActionScript3.0
运行时版本:
FlashPlayer9
将expression2(右侧的操作数)的值赋予expression1中的变量、数组元素或属性。
可以按值也可以按引用进行赋值。
按值进行赋值将复制expression1的实际值并将其存储在expression2中。
当expression2是原始值时(这意味着它的数据类型为Boolean、Number、int、uint或String),使用按值进行赋值。
按引用进行赋值将把对expression2的引用存储在expression1中。
按引用进行赋值通常与new运算符一起使用。
new运算符将在内存中创建一个对象,并将对内存中该位置的引用分配给一个变量。
注意:
在ActionScript3.0中,所有的值(包括原始值)都是对象,所有的赋值都通过引用来完成,但是原始对象具有一些特殊运算符,这些运算符使它们如同进行了按值赋值。
操作数
expression1:
*—变量、数组元素或对象的属性。
expression2:
*—任何类型的值。
结果
Object—赋予的值expression2。
示例
如何使用示例
下面的示例使用按值进行赋值