首页 Flash ActionScript 3.0 语言和组件参考(语句、关键字和指令)

Flash ActionScript 3.0 语言和组件参考(语句、关键字和指令)

举报
开通vip

Flash ActionScript 3.0 语言和组件参考(语句、关键字和指令)FlashActionScript3.0语言和组件参考(语句、关键字和指令)语句是在运行时执行或指定动作的语言元素。例如,return语句会为执行该语句的函数返回一个结果。if语句对条件进行计算,以确定应采取的下一个动作。switch语句创建ActionScript语句的分支结构。属性关键字更改定义的含义,可以应用于类、变量、函数和命名空间定义。定义关键字用于定义实体,例如变量、函数、类和接口。主表达式关键字表示文本值。若要获得保留字的列表,请参见《ActionScript3.0编程》。指令包含语句和定义,在编译时...

Flash ActionScript 3.0 语言和组件参考(语句、关键字和指令)
FlashActionScript3.0语言和组件参考(语句、关键字和指令)语句是在运行时执行或指定动作的语言元素。例如,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,twotrace(average(4,7,13));//8}}}functiontraceParams(...rest){trace(rest);}functionaverage(...args):Number{varsum:Number=0;for(vari:uint=0;i<args.length;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++;}/*012345678910*/另请参见do..whileforfor..inforeach..inlabelwhile 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");}另请参见breakswitch 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//OKclassCextendsClass_dimplementsInterface_i,Interface_j//OKclassCextendsClass_d,Class_e//notOK参数 className:Class—类的完全限定名称。示例如何使用示例下面的示例创建一个名为Plant的类。Plant构造函数采用两个参数。//FilenamePlant.aspackage{publicclassPlant{//Definepropertynamesandtypesprivatevar_leafType:String;privatevar_bloomSeason:String;//Followinglineisconstructor//becauseithasthesamenameastheclasspublicfunctionPlant(param_leafType:String,param_bloomSeason:String){//AssignpassedvaluestopropertieswhennewPlantobjectiscreated_leafType=param_leafType;_bloomSeason=param_bloomSeason;}//Createmethodstoreturnpropertyvalues,becausebestpractice//recommendsagainstdirectlyreferencingapropertyofaclasspublicfunctiongetleafType():String{return_leafType;}publicfunctiongetbloomSeason():String{return_bloomSeason;}}}在脚本中,使用new运算符来创建一个Plant对象。varpineTree:Plant=newPlant("Evergreen","N/A");//Confirmparameterswerepassedcorrectlytrace(pineTree.leafType);trace(pineTree.bloomSeason);另请参见dynamicextendsfinalinternalpublic 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");//arrayoperationsareallowedproduct_array=["Other"];//assignmentisanerrortrace(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..whileforfor..inforeach..inlabelwhile 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("Tuesday");break;case3:trace("Wednesday");break;case4:trace("Thursday");break;case5:trace("Friday");break;default:trace("Weekend");}另请参见switch defaultxmlnamespace directive  用法 defaultxmlnamespace=ns 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9defaultxmlnamespace指令可将默认的命名空间设置为用于XML对象。如果未设置defaultxmlnamespace,则默认命名空间是未命名的命名空间(当URI设置为空字符串时)。defaultxmlnamespace声明的作用域在函数块内,类似于变量的作用域。示例如何使用示例下例说明defaultxmlnamespace的作用域是函数块:varnsDefault1:Namespace=newNamespace("http://www.example.com/namespaces/");defaultxmlnamespace=nsDefault1;varx1:XML=<test1/>;trace("x1ns:"+x1.namespace());scopeCheck();varx2:XML=<test2/>;trace("x2ns:"+x2.namespace());functionscopeCheck():void{varx3:XML=<test3/>;trace("x3ns:"+x3.namespace());varnsDefault2:Namespace=newNamespace("http://schemas.xmlsoap.org/soap/envelope/");defaultxmlnamespace=nsDefault2;varx4:XML=<test4/>;trace("x4ns:"+x4.namespace());}以下是本示例trace()的输出:x1ns:http://www.example.com/namespaces/x3ns:x4ns:http://schemas.xmlsoap.org/soap/envelope/x2ns:http://www.example.com/namespaces/下例使用defaultxmlnamespace来分配默认的命名空间。因为第二个XML对象(x2)定义了自己的默认命名空间,所以x2未使用此设置:varnsDefault:Namespace=newNamespace("http://www.example.com/namespaces/");defaultxmlnamespace=nsDefault;varx1:XML=<test1/>;trace(x1.namespace());//http://www.example.com/namespaces/varx2:XML=<test2xmlns="http://www.w3.org/1999/XSL/Transform/"/>;trace(x2.namespace());//http://www.w3.org/1999/XSL/Transform/varx3:XML=<test3xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"/>;trace(x3.namespace());//http://www.example.com/namespaces/另请参见namespaceNamespaceClassusenamespaceXML do..while statement  用法 do{statement(s)}while(condition) 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9与while循环类似,不同之处是在对条件进行初始计算前执行一次语句。随后,仅当条件计算结果是true时执行语句。do..while循环确保循环内的代码至少执行一次。尽管这也可以通过使用while循环在while循环开始前放置要执行的语句的副本来实现,但很多程序员认为do..while循环更易于阅读。如果条件计算结果始终为true,do..while就会无限循环。如果进入了无限循环,则FlashPlayer会遇到问题,最终会发出警告信息,或播放器崩溃。如果知道要循环的次数,应该尽可能使用for循环。尽管for循环易于阅读和调试,但不是在所有情况下都能代替do..while循环。参数 condition:Boolean—要计算的条件。只要condition参数的计算结果为true,就会执行do代码块内的statement(s)。示例如何使用示例下例使用do..while循环以计算条件是否为true,并跟踪myVar直到myVar大于等于5。myVar大于等于5时,循环结束。varmyVar:Number=0;do{trace(myVar);myVar++;}while(myVar<5);/*01234*/另请参见breakcontinuewhile dynamic attributekeyword  用法 dynamicclassclassName{//此处是类定义} 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9指定类的实例可具有在运行时添加的动态属性。如果在对类使用dynamic特性,可以在运行时向该类的实例添加属性。将未标记为dynamic的类视为密封的,这意味着无法向该类的实例添加属性。如果类是密封的(非动态),尝试在类实例上获得属性或设置属性将导致错误。创建实例时,如果将编译器设置为严格模式并指定数据类型,尝试向密封的对象添加属性将导致编译器错误;否则,将发生运行时错误。dynamic属性不是由子类继承。如果扩展了动态类,则只有声明该子类具有dynamic属性时,子类才是动态的。注意:仅支持在外部脚本文件中使用此关键字,而不支持在用“动作”面板编写的脚本中使用此关键字。示例如何使用示例下例创建了两个类,一个是命名为Expando的动态类,另一个是命名为Sealed的密封类,将在随后的示例中使用它们。package{dynamicclassExpando{}classSealed{}}以下代码创建Expando类的实例,并说明可以向该实例添加属性。varmyExpando:Expando=newExpando();myExpando.prop1="new";trace(myExpando.prop1);//new以下代码创建Sealed类的实例,并说明尝试添加属性将导致错误。varmySealed:Sealed=newSealed();mySealed.prop1="newer";//error另请参见class else statement  用法 if(condition){//语句}else{//语句} 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9指定当if语句中的条件返回false时要运行的语句。如果仅执行一条语句,则无需使用花括号({})来括起要由else语句执行的语句。参数 condition:Boolean—计算结果为true或false的表达式。示例如何使用示例在下面的示例中,else条件用于检查age_txt变量是大于还是小于18:if(age_txt.text>=18){trace("welcome,user");}else{trace("sorry,junior");userObject.minor=true;userObject.accessAllowed=false;}在下面的示例中,花括号({})是不必要的,因为else语句后面只有一条语句:if(age_txt.text>18){trace("welcome,user");}elsetrace("sorry,junior");下例使用if和else语句的组合来对score_txt和特定的值进行比较:if(score_txt.text>90){trace("A");}elseif(score_txt.text>75){trace("B");}elseif(score_txt.text>60){trace("C");}else{trace("F");}另请参见if extends definitionkeyword  用法 classclassNameextendsotherClassName{}interfaceinterfaceNameextendsotherInterfaceName{} 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9定义一个作为其它类的子类的类。子类继承超类中定义的所有方法、属性、函数等。无法扩展标记为final的类。也可以使用extends关键字来扩展接口。扩展另一个接口的接口包含原始接口的所有方法声明。注意:若要使用此关键字,必须在FLA文件的“发布设置”对话框的“Flash”选项卡中指定ActionScript2.0和FlashPlayer6或更高版本。仅支持在外部脚本文件中使用此关键字,而不支持在用“动作”面板编写的脚本中使用此关键字。参数 className:Class—您所定义的类的名称。示例如何使用示例在下面的示例中,Car类扩展Vehicle类,以继承其所有方法、属性和函数。如果您的脚本对Car对象进行实例化,则来自Car类的方法和来自Vehicle类的方法都可以使用。下面的示例显示名为Vehicle.as的文件(它定义Vehicle类)的内容:package{classVehicle{varnumDoors:Number;varcolor:String;publicfunctionVehicle(param_numDoors:Number=2,param_color:String=null){numDoors=param_numDoors;color=param_color;}publicfunctionstart():void{trace("[Vehicle]start");}publicfunctionstop():void{trace("[Vehicle]stop");}publicfunctionreverse():void{trace("[Vehicle]reverse");}}}下例说明同一目录中名为Car.as的第二个ActionScript文件。此类扩展Vehicle类,通过三种方式修改它。第一种是Car类添加变量fullSizeSpare以跟踪car对象是否具有 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 尺寸 手机海报尺寸公章尺寸朋友圈海报尺寸停车场尺寸印章尺寸 的备用轮胎。第二种是它添加特定于汽车的新方法activateCarAlarm(),该方法用于激活汽车的防盗警报。第三种是它覆盖stop()函数以添加Car类使用防抱死制动系统来停车的事实。package{publicclassCarextendsVehicle{varfullSizeSpare:Boolean;publicfunctionCar(param_numDoors:Number,param_color:String,param_fullSizeSpare:Boolean){numDoors=param_numDoors;color=param_color;fullSizeSpare=param_fullSizeSpare;}publicfunctionactivateCarAlarm():void{trace("[Car]activateCarAlarm");}publicoverridefunctionstop():void{trace("[Car]stopwithantilockbrakes");}}}下面的示例对Car对象进行实例化,调用在Vehicle类中定义的方法(start()),然后调用由Car类覆盖的方法(stop()),最后从Car类调用一个方法(activateCarAlarm()):varmyNewCar:Car=newCar(2,"Red",true);myNewCar.start();//[Vehicle]startmyNewCar.stop();//[Car]stopwithanti-lockbrakesmyNewCar.activateCarAlarm();//[Car]activateCarAlarm使用super语句也可以编写Vehicle类的子类,此子类可以使用该语句访问超类的构造函数。下例显示第三个ActionScript文件,该文件名为Truck.as,也在同一目录中。在构造函数和覆盖的reverse()方法中,Truck类使用super。package{classTruckextendsVehicle{varnumWheels:Number;publicfunctionTruck(param_numDoors:Number,param_color:String,param_numWheels:Number){super(param_numDoors,param_color);numWheels=param_numWheels;}publicoverridefunctionreverse():void{beep();super.reverse();}publicfunctionbeep():void{trace("[Truck]makebeepingsound");}}}下面的示例对Truck对象进行实例化,调用由Truck类覆盖的方法(reverse()),然后调用在Vehicle类中定义的方法(stop()):varmyTruck:Truck=newTruck(2,"White",18);myTruck.reverse();//[Truck]makebeepingsound[Vehicle]reversemyTruck.stop();//[Vehicle]stop另请参见classfinalinterface false primaryexpressionkeyword  用法 false 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9表示false的布尔值。布尔值为true或false;false与true相反。如果自动设置数据类型时将false转换为数字,则它变为0;如果自动设置数据类型时将false转换为字符串,则它变为"false"。注意:字符串"false"转换为布尔值true。示例如何使用示例此示例说明自动设置数据类型如何将false转换为数字以及转换为字符串:varbool1:Boolean=Boolean(false);//convertsittothenumber0trace(1+bool1);//outputs1//convertsittoastringtrace("String:"+bool1);//outputsString:false下例说明字符串"false"转换为布尔值true:trace(Boolean("false"));//trueif("false"){trace("conditionexpressionevaluatedtotrue");}else{trace("conditionexpressionevaluatedtofalse");}//conditionexpressionevaluatedtotrue另请参见Booleanclasstrue final attributekeyword  用法 finalfunctionmethodName(){//此处是您的语句}finalclassclassName{} 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9指定不能覆盖方法或者不能扩展类。尝试覆盖方法或扩展类,并标记为final将导致错误。参数 methodName:Function—无法覆盖的方法的名称。 className:Class—无法扩展的类的名称。另请参见overrideextends flash_proxy namespace  定义Proxy类的方法。Proxy类方法位于自己的命名空间内,这是为了避免在Proxy子类包含与任一Proxy类方法名称相匹配的实例方法名称时发生名称冲突。另请参见Proxyclass for statement  用法 for([init];[condition];[next]){//语句} 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9计算一次init(初始化)表达式,然后开始一个循环序列。循环序列从计算condition表达式开始。如果condition表达式的计算结果为true,将执行statement并计算next表达式。然后循环序列再次从计算condition表达式开始。如果只执行一条语句,则无需使用花括号({})来括起要由for语句执行的语句。参数 init—在开始循环序列前要计算的可选表达式,通常为赋值表达式。还允许对此参数使用var语句。 condition—在开始循环序列前要计算的可选表达式,通常为比较表达式。如果表达式的计算结果为true,则执行与for语句相关联的语句。 next—循环序列后要计算的可选表达式,通常是递增或递减表达式。示例如何使用示例下面的示例使用for在数组中添加元素:varmy_array:Array=newArray();for(vari:Number=0;i<10;i++){my_array[i]=(i+5)*10;}trace(my_array);//50,60,70,80,90,100,110,120,130,140下面的示例使用for重复执行相同的动作。在代码中,for循环将从1到100的数字相加。varsum:Number=0;for(vari:Number=1;i<=100;i++){sum+=i;}trace(sum);//5050下例说明,在仅执行一条语句时无需使用花括号({}):varsum:Number=0;for(vari:Number=1;i<=100;i++)sum+=i;trace(sum);//5050另请参见++(increment) for..in statement  用法 for(variableIterant:Stringinobject){//语句} 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9遍历对象的动态属性或数组中的元素,并对每个属性或元素执行statement。对象属性不按任何特定的顺序保存,因此属性看似以随机的顺序出现。固定属性,例如在类中定义的变量和方法,不能由for..in语句来枚举。若要获得固定属性列表,请使用flash.utils包中的describeType()函数。参数 variableIterant:String—要作为迭代变量的变量的名称,迭代变量引用对象的每个属性或数组中的每个元素。示例如何使用示例下面的示例使用for..in遍历对象的属性:varmyObject:Object={firstName:"Tara",age:27,city:"SanFrancisco"};for(varpropinmyObject){trace("myObject."+prop+"="+myObject[prop]);}/*myObject.firstName=TaramyObject.age=27myObject.city=SanFrancisco*/下面的示例将typeof运算符与for..in结合使用以迭代特定类型的子级:varmyObject:Object={firstName:"Tara",age:27,city:"SanFrancisco"};for(varnameinmyObject){if(typeof(myObject[name])=="string"){trace("Ihaveastringpropertynamed"+name);}}/*IhaveastringpropertynamedcityIhaveastringpropertynamedfirstName*/另请参见describeType() foreach..in statement  用法 foreach(variableIterantinobject){//语句} 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9遍历集合的项目,并对每个项目执行statement。foreach..in语句作为E4X语言扩展的一部分引入,不仅可以用于XML对象,而且可以用于对象和数组。foreach..in语句仅遍历对象的动态属性,而不是固定属性。固定属性是指定义为类定义的一部分的属性。若要使用具有用户自定义类的实例的foreach..in语句,则必须声明具有dynamic属性的类。与for..in语句不同,foreach..in语句将遍历对象属性的值,而不是属性的名称。参数 variableIterant:*—要作为迭代变量的变量的名称引用集合中的项。 object:Object—要遍历的集合的名称。集合可以是XML对象、通用对象或数组。示例如何使用示例下例使用foreach..in遍历对象的属性具有的值:varmyObject:Object={firstName:"Tara",age:27,city:"SanFrancisco"};foreach(variteminmyObject){trace(item);}/*Tara27SanFrancisco*/下面的示例使用foreach..in遍历数组的元素:varmyArray:Array=newArray("one","two","three");foreach(variteminmyArray)trace(item);/*onetwothree*/下面的示例将is运算符与foreach..in结合使用以迭代特定类型的子级:varmyObject:Object={firstName:"Tara",age:27,city:"SanFrancisco"};foreach(variteminmyObject){if(itemisString){trace("Ihaveastringpropertywithvalue"+item);}}/*IhaveastringpropertywithvalueTaraIhaveastringpropertywithvalueSanFrancisco*/下例说明使用foreach..in遍历XMLList对象中的属性(doc.p):vardoc:XML=<body><p>Hello</p><p>Hola</p><hr/><p>Bonjour</p></body>;foreach(varitemindoc.p){trace(item);}/*HelloHolaBonjour*/ function definitionkeyword  用法 functionfunctionName([parameter0,parameter1,...parameterN]):returnType{//语句}varfunctionName:Function=function([parameter0,parameter1,...parameterN]):returnType{//语句} 语言版本:  ActionScript3.0 运行时版本:  FlashPlayer9包含为执行特定任务而定义的一组语句。可以在SWF文件的一个地方定义函数,然后从SWF文件的其它脚本中调用它。定义函数时,还可以为其指定参数。参数是函数要对其进行操作的值的占位符。可以在每次调用一个函数时传递不同的参数,这样就可将一个函数重复用于不同的情况。在一个
本文档为【Flash ActionScript 3.0 语言和组件参考(语句、关键字和指令)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
会人会语
暂无简介~
格式:doc
大小:640KB
软件:Word
页数:57
分类:
上传时间:2019-03-17
浏览量:17