AS3.0编程语言基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章AS3.0编程语言基础•语法、数据、变量、运算符和语句构成了编程语言的基础。本章将通过大量的测试代码。详细的介绍ActionScript3.0中的语法、数据类型,变量以及运算符。通过本章的学习,为以后的面向对象编程将打下一个坚实的基础。2.1AS3.0语法•任何一门编程语言在编写代码时都必须遵循一定的规则,这个规则就是语法。本节将着重介绍从ActionScript2.0开始使用的点语法和区分大小写,了解编程常用的标点符号的使用,以及程序注释的使用方法。2.1.1点语法•Flash中使用点(.)运算符来访问对象的属性和方法,点运算符主要用于下面的几个方面。•1.可以采用对象后面跟点运算符的属性名称(方法)名称来引用对象的属性(方法)。•2.可以采用点运算符表示包路径。•3.可以使用点运算符描述显示对象的路径。2.1.2标点符号使用•在Flash中有多种标点符号都很常用,分别为:分号(;)、逗号(,)、冒号(:)、小括号(())、中括号([])和大括号({})。这些标点符号在Flash中都有各自不同的作用,可以帮助定义数据类型,终止语句或者构建ActionScript代码块。•1.分号(;):ActionScript语句用分号(;)字符表示语句结束。•2.逗号(,):逗号的作用主要用于分割参数,比如函数的参数,方法的参数等等。•3.冒号(:):冒号的作用主要用于为变量指定数据类型。要为一个变量指明数据类型,需要使用var关键字和后冒号法为其指定。•4.小括号(()):小括号在ActionScript3.0中有三种用途。•首先,在数学运算方面,可以用来改变表达式的运算顺序。小括号内的数学表达式优先运算。•其次,在表达式运算方面,可以结合使用小括号和逗号运算符,来优先计算一系列表达式的结果并返回最后一个表达式的结果。•5.中括号([]):中括号主要用于数组的定义和访问,•6.大括号({}):大括号主要用于编程语言程序控制,函数和类中。•在构成控制结构的每个语句前后添加大括号(例如if..else或for),即使该控制结构只包含一个语句。2.1.3注释•注释是使用一些简单易懂的语言对代码进行简单的解释的方法。注释语句在编译过程中并不会进行求值运算。可以用注释来描述代码的作用,或者返回到文档中的数据。注释也可以帮助记忆编程的原理,并有助于其他人的阅读。若代码中有些内容阅读起来含义大不明显,应该对其添加注释。•ActionScript3.0中的注释语句有两种:单行注释和多行注释。•单行注释以两个单斜杠(//)开始,之后的该行内容均为注释。比如下面的代码:•trace(1234)//输出:12342.1.4关键字和保留字•保留字,从字面上就很容易知道这是保留给ActionScript3.0语言使用的英文单词。因而不能使用这些单词作为变量、实例、类名称等。如果在代码中使用了这些单词,编译器会报错。•ActionScript3.0中的保留字分为3类:词汇关键字、语法关键字和供将来使用的保留字。•1.词汇关键字•2.句法关键字•3.供将来使用的保留字。2.2变量和常量•变量和常量,都是为了储存数据而创建的。变量和常量就像是一个容器,用于容纳各种不同类型的数据。当然对变量进行操作,变量的数据就会发生改变,而常量则不会。•变量必须要先声明后使用,否则编译器就会报错。道理很简单,比如现在要去喝水,那么你首先要有一个杯子,否则怎么样去装水呢?要声明变量的原因与此相同。2.2.1声明变量的语法•在ActionScript3.0中,使用var关键字来声明变量。格式如下所示。•var变量名:数据类型;•var变量名:数据类型=值;•变量名加冒号加数据类型就是声明的变量的基本格式。要声明一个初始值,需要加上一个等号并在其后输入响应的值。但值的类型必须要和前面的数据类型一致。2.2.2变量的命名规则•变量的命名既是任意的,又是有规则,有目的的。随手牵来、杂乱无章的命名在Flash里面容易引起代码的混乱,也不容易进行维护操作。•变量的命名首先要遵循下面的几条原则:•它必须是一个标识符。它的第一个字符必须是字母、下划线(_)或美元记号($)。其后的字符必须是字母、数字、下划线或美元记号。注意:不能使用数字作为变量名称的第一个字母。•它不能是关键字或动作脚本文本,例如true、false、null或undefined。特别不能使用ActionScript的保留字,否则编译器会报错。•它在其范围内必须是惟一的,不能重复定义变量。2.2.3变量的作用域•变量的作用域指可以使用或者引用该变量的范围,通常变量按照其作用域的不同可以分为全局变量和局部变量。全局变量指在函数或者类之外定义的变量,而在类或者函数之内定义的变量为局部变量。•全局变量在代码的任何地方都可以访问,所以在函数之外声明的变量同样可以访问,如下面的代码,函数Test()外声明的变量i在函数体内同样可以访问。•vari:int=1;•//定义Test函数•functionTest(){•trace(i);•}•Test()//输出:12.2.4变量的默认值•变量的默认值是指变量在没有赋值之前的值。对于ActionScript3.0的数据类型来说,都有各自的默认值,下面使用代码来测试一下:•通过上面的代码输出,已经可以得到这些数据类型变量的默认值,分别为:•Boolean型变量的默认值是:false。•int型变量的默认值是:0。•Number型变量的默认值是:NaN。•Object型变量的默认值是:null。•String型变量的默认值是:null。•uint型变量的默认值是:0。•*型变量的默认值是:undefined。2.2.5使用const声明常量•ActionScript3.0中增加了一个const关键字,用于声明常量。常量是指具有无法改变的固定值的属性。比如Math.PI就是一个常量。常量可以看做一种特殊的变量,不过这种变量不能赋值,不能更改而已。•使用用const声明常量的语法格式和var声明的变量的格式一样:•const常量名:数据类型;•const常量名:数据类型=值;•下面声明常量的代码:•constg:Number=9.8;2.3基础数据类型•和其它的面向对象的编程的数据类型一样,ActionScript3.0的数据类型同样分为两种,具体划分方式如下所示。•基元型数据类型:Boolean、int、Number、String和uint。•复杂型数据类型:Array、Date、Error、Function、RegExp、XML和XMLList。•一般来说,基元值的处理速度通常比复杂值的处理速度要快。•基元型数据和复杂型数据类型的最大的区别是:基元型是值对类型数据,而复杂型是引用类型数据。值对类型直接储存数据,使用它为另一个的变量赋值之后,若另一个变量改变,并不影响原变量的值。引用类型指向要操作的对象,另一个变量引用这个变量之后,若另一变量发生改变,原有的变量跟着也要发生改变。•基元型数据类型都是值对类型数据,复杂型数据都是引用类型数据。•另外,最明显的一个区别是,如果数据类型能够使用new关键字创建,那么它一定是引用型数据变量。2.3.1基础数据类型说明•本节通过大量的测试代码,来说明各种不同的数据类型的用法和使用中的注意事项。•1.Boolean数据类型•2.数字:int、uint和Number•3.String数据类型•4.Array数组类型•5.Object数据类型•6.Object数据类型2.3.2数据类型检查•任何编程代码在执行前或者执行时都要执行数据类型的检查,以避免出现数据错误。ActionScript3.0是动态类型的语言,它默认的是执行时进行数据类型检查。同时它也在适合使用“严格模式”的编译器在编译时执行数据类型检查。在使用严格模式的编译器中,数据类型检查既可以在执行前执行编译器检查,也可以在运行时执行运行时检查。在标准模式下,只支持默认的执行时数据类型检查。•比如说在程序编写过程中,要明确传递变量值的类型和接受参数类型相同。比如下面的代码:•functionfunc(mystr:String){•trace(mystr);•}•varstr:String=welcomeyou;•func(str);2.3.3隐式数据类型转换•数据类型转换是指把某个值转换为其它类型的数据。类型的转换有两种方式:隐式转换和显式转换。隐式转换又称为强制转换,由FlashPlayer在运行时执行。比如将2赋值给Boolean数据类型的变量,则FlashPlayer会先将2转换为布尔值true,然后再将其赋值给该变量。•隐式转换可以称为自动转换,是在程序编译的过程中由程序本身来进行数据类型的转换。它主要发生在许多上下文中。主要分为以下几种情况:•在赋值语句中。•在将值作为函数的参数传递时。•在从函数中返回值时。•在使用某些运算符(如加法运算符(+))的表达式中。2.3.4显式数据类型转换•显式转换是指代码若指示编译器将一个数据类型的变量视为属于另一个类型的变量时执行该转换。该转换主要利用数据类型的对象名称来转换。常用的数据转换均为此方式。•显示转换是利用数据类型的对象名称来转换,常见的主要有下面的几种。•1.转换为int、uint和Number•2.转换为Boolean•3.转换为String2.3.5无类型说明符•ActionScript3.0引入了三种特殊类型的无类型说明符:*,void和null。•使用*类型用于指定属性是无类型的。使用*作为类型注释与不使用类型注释等效。从无类型属性中读取的表达式可视为无类型表达式。该说明符主要用于两个方面:将数据类型检查延缓到运行时和将undefined存储在属性中。•void用于说明定函数无法返回任何值。void类型只有一个值:undefined。该说明符仅用于声明函数的返回类型。•null是一个没有值的特殊数据类型。Null数据类型只有一个值:null。Null数据类型的不与任何类相关联。不可将Null数据类型用作属性的类型注释。2.4运算符与表达式•学习一门编程语言,首先要弄清楚的就是如何对其中的数据进行运算。使用表达式来表达想要达到的效果,使用运算符来进行相关的运算,这就是数据运算的关键。本节主要介绍常用的运算符的用法。2.4.1运算符和表达式基础知识•运算符是可以通过给出的一个或者多个值来产生另一个值的东西。可以说它是一种特殊的函数。其中的值称为“操作数”,具体包括字面值、变量和表达式。•运算符分为三种:一元运算符、二元运算符、三元运算符。一元运算符只运算一个值,例如递增运算符++;二元运算符比较常见,ActionScript3.0中大部分运算符都是二元运算符;三元运算符具有三个操作数,例如条件运算符(?:)具有3个操作数。2.4.2赋值运算符•赋值运算符有两个操作数,它根据一个操作数的值对另一个操作数进行赋值操作。ActionScript中的赋值运算有12个,赋值运算符运算符执行的运算=赋值*=乘法赋值/=除法赋值%=求模赋值+=加法赋值-=减法赋值=按位向左移位赋值=按位向右移位赋值=按位无符号向右移位赋值&=按位与赋值^=按位异或赋值|=按位或赋值2.4.3算术运算符•算术运算符共有6个,分别为:加、减、乘、除、模运算和求反运算。•加、减、乘、除的运算很简单,请看下面的代码示例:•vara:int=1;•varb:int=2;•varc:int=a+b;•vard:int=a-b;•vare:int=a*b;•varf:int=a/b;2.4.4算术赋值运算符•算术赋值运算符和算术运算符对应,共有5个,分别为+=、-=、*=、/=和%=。和赋值运算符一样,运算符的左边只能是变量。右侧是一个要值、变量或表达式。•这种类型的赋值运算符有时也叫做自赋值运算符,就是利用自己进行运算并赋值给自己。比如下面的代码语句:•a+=1;•其要表达的运算过程就是下面的的代码要执行的运算过程。•a=a+1;2.4.5关系运算符•关系运

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功