flash actionscript30 语句关键字和指令.docx

上传人:b****5 文档编号:8005625 上传时间:2023-01-27 格式:DOCX 页数:78 大小:52.03KB
下载 相关 举报
flash actionscript30 语句关键字和指令.docx_第1页
第1页 / 共78页
flash actionscript30 语句关键字和指令.docx_第2页
第2页 / 共78页
flash actionscript30 语句关键字和指令.docx_第3页
第3页 / 共78页
flash actionscript30 语句关键字和指令.docx_第4页
第4页 / 共78页
flash actionscript30 语句关键字和指令.docx_第5页
第5页 / 共78页
点击查看更多>>
下载资源
资源描述

flash actionscript30 语句关键字和指令.docx

《flash actionscript30 语句关键字和指令.docx》由会员分享,可在线阅读,更多相关《flash actionscript30 语句关键字和指令.docx(78页珍藏版)》请在冰豆网上搜索。

flash actionscript30 语句关键字和指令.docx

flashactionscript30语句关键字和指令

语句是在运行时执行或指定动作的语言元素。

例如,return语句会为执行该语句的函数返回一个结果。

if语句对条件进行计算,以确定应采取的下一个动作。

switch语句创建ActionScript语句的分支结构。

属性关键字更改定义的含义,可以应用于类、变量、函数和命名空间定义。

定义关键字用于定义实体,例如变量、函数、类和接口。

主表达式关键字表示文本值。

若要获得保留字的列表,请参见《ActionScript3.0编程》。

指令包含语句和定义,在编译时或运行时起作用。

下表中将既不是语句也不是定义的指令标记为指令。

 

 

语句

 

break

出现在循环(for、for..in、foreach..in、do..while或while)内,或出现在与switch语句中的特定情况相关联的语句块内。

 

case

定义switch语句的跳转目标。

 

continue

跳过最内层循环中所有其余的语句并开始循环的下一次遍历,就像控制正常传递到了循环结尾一样。

 

default

定义switch语句的默认情况。

 

do..while

与while循环类似,不同之处是在对条件进行初始计算前执行一次语句。

 

else

指定当if语句中的条件返回false时要运行的语句。

 

for

计算一次init(初始化)表达式,然后开始一个循环序列。

 

for..in

遍历对象的动态属性或数组中的元素,并对每个属性或元素执行statement。

 

foreach..in

遍历集合的项目,并对每个项目执行statement。

 

if

计算条件以确定下一条要执行的语句。

 

label

将语句与可由break或continue引用的标识符相关联。

 

return

导致立即返回执行调用函数。

 

super

调用方法或构造函数的超类或父版本。

 

switch

根据表达式的值,使控制转移到多条语句的其中一条。

 

throw

生成或抛出(使用throw语句)一个可由catch代码块处理或捕获的错误。

 

try..catch..finally

包含一个代码块,在其中可能会发生错误,然后对该错误进行响应。

 

while

计算一个条件,如果该条件的计算结果为true,则会执行一条或多条语句,之后循环会返回并再次计算条件。

 

with

建立要用于执行一条或多条语句的默认对象,从而潜在地减少需要编写的代码量。

 

属性关键字

 

dynamic

指定类的实例可具有在运行时添加的动态属性。

 

final

指定不能覆盖方法或者不能扩展类。

 

internal

指定类、变量、常量或函数可用于同一包中的任何调用者。

 

native

指定函数或方法由FlashPlayer以本机代码的形式实现。

 

override

指定用一种方法替换继承的方法。

 

private

指定变量、常量、方法或命名空间仅可供定义它的类使用。

 

protected

指定变量、常量、方法或命名空间只可用于定义它的类及该类的任何子类。

 

public

指定类、变量、常量或方法可用于任何调用者。

 

static

指定变量、常量或方法属于类,而不属于类的实例。

 

定义关键字

 

...(rest)parameter

指定函数将接受任意多个以逗号分隔的参数。

 

class

定义一个类,它允许实例化共享您定义的方法和属性的对象。

 

const

指定一个常量,它是只能赋值一次的变量。

 

extends

定义一个作为其它类的子类的类。

 

function

包含为执行特定任务而定义的一组语句。

 

get

定义一个getter,它是一种可像属性一样读取的方法。

 

implements

指定一个类可实现一个或多个接口。

 

interface

定义接口。

 

namespace

允许您控制定义的可见性。

 

package

允许您将代码组织为可由其它脚本导入的离散组。

 

set

定义一个setter,它是一种在公共接口中作为属性出现的方法。

 

var

指定一个变量。

 

指令

 

defaultxmlnamespace

defaultxmlnamespace指令可将默认的命名空间设置为用于XML对象。

 

import

使外部定义的类和包可用于您的代码。

 

include

包括指定文件的内容,就像该文件中的命令是调用脚本的一部分一样。

 

usenamespace

使指定的命名空间添加到打开的命名空间集中。

 

命名空间

 

AS3

定义核心ActionScript类的方法和属性,将其作为固定属性而非原型属性。

 

flash_proxy

定义Proxy类的方法。

 

object_proxy

定义ObjectProxy类的方法。

 

主表达式关键字

 

false

表示false的布尔值。

 

null

一个可以分配给变量的或由未提供数据的函数返回的特殊值。

 

this

对方法的包含对象的引用。

 

true

表示true的布尔值。

语句、关键字和指令详细信息

...(rest)parameter

definitionkeyword

用法

functionfunctionName(parameter0,parameter1,...rest){

//语句

}

语言版本:

 

ActionScript3.0

运行时版本:

 

FlashPlayer9

指定函数将接受任意多个以逗号分隔的参数。

参数列表成为了在整个函数体中可用的数组。

在参数声明中,数组的名称在...字符后指定。

参数可以拥有保留字以外的任意名称。

如果与其它参数共同使用,则...(其余的)参数声明必须是最后指定的参数。

只有传递给函数的参数数目超过其它参数的数目时,才会填充...(其余的)参数数组。

逗号分隔参数列表中的每一个参数都将放置在该数组的一个元素中。

如果您传递了Array类的实例,则整个数组会放置到...(其余的)参数数组的单个元素中。

使用此参数会使arguments对象不可用。

尽管...(其余的)参数提供了与arguments数组和arguments.length属性相同的功能,但是未提供与由arguments.callee提供的功能类似的功能。

使用...(其余的)参数之前,请确保不需要使用arguments.callee。

参数

rest:

*—标识符表示传递至函数的参数数组的名称。

不需要将参数命名为rest;它可以具有不同于关键字的任意名称。

可以将...(rest)参数的数据类型指定为Array,但是这样可能会产生混淆,因为该参数可接受逗号分隔值列表,该列表与Array类的实例不同。

示例

如何使用示例

下例在两个不同函数中使用...(其余的)参数。

第一个函数traceParams只对rest数组中每一个参数调用trace()函数。

第二个函数average()调用参数列表并返回平均值。

第二个函数还使用了该参数的其它名称args。

package{

importflash.display.MovieClip;

publicclassRestParamExampleextendsMovieClip{

publicfunctionRestParamExample(){

traceParams(100,130,"two");//100,130,two

trace(average(4,7,13));//8

}

}

}

 

functiontraceParams(...rest){

trace(rest);

}

functionaverage(...args):

Number{

varsum:

Number=0;

for(vari:

uint=0;i

sum+=args[i];

}

return(sum/args.length);

}

另请参见argumentsobject

AS3

namespace

 

定义核心ActionScript类的方法和属性,将其作为固定属性而非原型属性。

在将“-as3”编译器选项设置为true时,(whichisthedefaultsettinginFlexBuilder2)将为所有核心类自动打开AS3命名空间。

这意味着核心类的单个实例将使用固定的属性和方法,而不是使用同一属性和方法附加到此类的原型对象上的版本。

使用固定属性通常可以提供更好的性能,但将无法向后兼容ECMAScript第3版语言规范(ECMA-262)。

另请参见Objectclass

break

statement

 

用法

break[label]

语言版本:

 

ActionScript3.0

运行时版本:

 

FlashPlayer9

出现在循环(for、for..in、foreach..in、do..while或while)内,或出现在与switch语句中的特定情况相关联的语句块内。

当在循环中使用时,break语句指示Flash跳过循环体的其余部分,停止循环动作,并执行循环语句后面的语句。

在switch中使用break语句时,该语句将指示Flash跳过此case块中的其余语句,并跳到包含它的switch语句后面的第一个语句。

在嵌套循环中,break语句只跳过当前循环的其余部分,而不是中断整个系列的嵌套循环。

若要中断整个系列的嵌套循环,请使用label或try..catch..finally。

break语句可以具有可选标签,该标签必须与外部标记语句相匹配。

使用与外部语句的标签不匹配的标签是一种语法错误。

可以使用标记的break语句中断多层嵌套循环语句、switch语句,或block语句。

有关示例,请参见label语句条目。

参数

label:

*—与语句关联的标签名称。

示例

如何使用示例

下例使用break以退出一个循环(如果没有该语句,该循环为无限循环):

vari:

int=0;

while(true){

trace(i);

if(i>=10){

break;//thiswillterminate/exittheloop

}

i++;

}

/*

0

1

2

3

4

5

6

7

8

9

10*/

另请参见

do..while

for

for..in

foreach..in

label

while

case

statement

 

用法

casejumpTarget:

statements

语言版本:

 

ActionScript3.0

运行时版本:

 

FlashPlayer9

定义switch语句的跳转目标。

如果jumpTarget参数等于使用全等运算符(===)的switch语句的expression参数,则FlashPlayer将执行statements参数中的语句,直到遇到一个break语句或直到switch语句结束。

如果在switch语句外部使用case语句,会产生错误,而且脚本不能编译。

注意:

在statements参数的结尾应始终使用break语句。

如果省略statements参数中的break语句,则FlashPlayer会继续执行下一条case语句,而不是退出switch语句。

参数

jumpTarget:

*—任何表达式。

statements:

*—如果jumpTarget和switch语句中的条件表达式匹配,则执行语句。

示例

如何使用示例

下例定义了switch语句thisMonth的跳转目标。

如果thisMonth等于case语句中的表达式,则执行该语句。

varthisMonth:

int=newDate().getMonth();

switch(thisMonth){

case0:

trace("January");

break;

case1:

trace("February");

break;

case5:

case6:

case7:

trace("Somesummermonth");

break;

case8:

trace("September");

break;

default:

trace("someothermonth");

}

另请参见

break

switch

class

definitionkeyword

 

用法

[dynamic][public|internal][final]classclassName[extendssuperClass][implementsinterfaceName[,interfaceName...]]{

//此处是类定义

}

语言版本:

 

ActionScript3.0

运行时版本:

 

FlashPlayer9

定义一个类,它允许实例化共享您定义的方法和属性的对象。

例如,如果您正开发一个发票跟踪系统,则可以创建一个Invoice类,它定义每个发票应具有的所有方法和属性。

然后您可以使用newInvoice()命令来创建Invoice对象。

每个ActionScript源文件只能包含一个对其它源文件或脚本可见的类。

外部可见的类可以是公共类或内部类,必须在包语句内定义。

如果在同一个文件中包括其它类,则该类必须放在包语句之外、文件结尾处。

外部可见的类的名称必须与包含该类的ActionScript源文件的名称匹配。

源文件名称必须是类的名称加上文件扩展名.as。

例如,如果您将一个类命名为Student,则定义该类的文件必须被命名为Student.as。

您不能嵌套类定义;即,不能在一个类定义内定义其它类。

可以定义构造函数方法,每次创建该类的新实例时执行该方法。

该构造函数方法的名称必须与类的名称匹配。

如果未定义构造函数方法,则为您创建一个默认的构造函数。

若要表示对象可在运行时添加和访问动态属性,请在class语句前面放置dynamic关键字。

若要声明一个类实现一个接口,请使用implements关键字。

若要创建一个类的子类,请使用extends关键字。

(某一类只能扩展一个类,但可以实现多个接口。

)您可以在一个语句中使用implements和extends。

下面的示例将说明implements和extends关键字的典型用法:

classCimplementsInterface_i,Interface_j//OK

classCextendsClass_dimplementsInterface_i,Interface_j//OK

classCextendsClass_d,Class_e//notOK

参数

className:

Class—类的完全限定名称。

示例

如何使用示例

下面的示例创建一个名为Plant的类。

Plant构造函数采用两个参数。

//FilenamePlant.as

package{

publicclassPlant{

//Definepropertynamesandtypes

privatevar_leafType:

String;

privatevar_bloomSeason:

String;

//Followinglineisconstructor

//becauseithasthesamenameastheclass

publicfunctionPlant(param_leafType:

String,param_bloomSeason:

String){

//AssignpassedvaluestopropertieswhennewPlantobjectiscreated

_leafType=param_leafType;

_bloomSeason=param_bloomSeason;

}

//Createmethodstoreturnpropertyvalues,becausebestpractice

//recommendsagainstdirectlyreferencingapropertyofaclass

publicfunctiongetleafType():

String{

return_leafType;

}

publicfunctiongetbloomSeason():

String{

return_bloomSeason;

}

}

}

在脚本中,使用new运算符来创建一个Plant对象。

varpineTree:

Plant=newPlant("Evergreen","N/A");

//Confirmparameterswerepassedcorrectly

trace(pineTree.leafType);

trace(pineTree.bloomSeason);

另请参见

dynamic

extends

final

internal

public

const

definitionkeyword

 

用法

constidentifier=value

语言版本:

 

ActionScript3.0

运行时版本:

 

FlashPlayer9

指定一个常量,它是只能赋值一次的变量。

附加后跟数据类型的colon(:

)字符可以严格指定常量的类型。

参数

identifier:

*—常量的标识符。

示例

如何使用示例

下例说明,如果尝试多次为一个常量赋值将发生错误。

constMIN_AGE:

int=21;

MIN_AGE=18;//error

下例说明,如果常量是一个数组,仍然可以调用Array类方法,包括Array.push()。

但是无法分配新数组文本。

constproduct_array:

Array=newArray("Studio","Dreamweaver","Flash","ColdFusion","Contribute","Breeze");

product_array.push("Flex");//arrayoperationsareallowed

product_array=["Other"];//assignmentisanerror

trace(product_array);

另请参见

var

continue

statement

 

用法

continue[label]

语言版本:

 

ActionScript3.0

运行时版本:

 

FlashPlayer9

跳过最内层循环中的所有剩余语句并开始循环的下一次遍历,就像控制正常传递到了循环结尾一样。

continue语句在循环外不起作用。

在嵌套循环中,使用可选的label参数以跳过最内层以内的循环。

continue语句可以具有可选标签,该标签必须与外部标记语句相匹配。

使用与外部语句的标签不匹配的标签是一种语法错误。

使用标记的continue语句可以跳过多层嵌套循环语句。

示例

如何使用示例

在下面的while循环中,continue语句用于遇到3的整数倍时跳过循环体的其余部分,并跳转到循环的顶端(在该处进行条件测试):

vari:

int=0;

while(i<10){

if(i%3==0){

i++;

continue;

}

trace(i);

i++;

}

在for循环中,还可以使用continue语句以跳过循环体的其余部分。

在下例中,如果i%3等于0,则跳过trace(i)语句:

for(vari:

int=0;i<10;i++){

if(i%3==0){

continue;

}

trace(i);

}

另请参见

do..while

for

for..in

foreach..in

label

while

default

statement

 

用法

default:

statements

语言版本:

 

ActionScript3.0

运行时版本:

 

FlashPlayer9

定义switch语句的默认情况。

如果switch语句的expression参数不等于(使用全等运算符[===])给定switch语句的case关键字后的任何expression参数,则执行这些语句。

switch语句不需要defaultcase语句。

defaultcase语句也不一定要出现在列表的最后。

如果在switch语句外使用default语句,将会产生错误,并且脚本不能编译。

参数

statements:

*—任何语句。

示例

如何使用示例

在下例中,如果某天是星期六或星期日,则不调用任何case语句,因此将转为执行default语句。

vardayOfWeek:

int=newDate().getDay();

switch(dayOfWeek){

case1:

trace("Monday");

break;

case2:

trace("Tu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1