FLASHActionScrip编程语言基础学习

上传人:yx****d 文档编号:243023120 上传时间:2024-09-14 格式:PPT 页数:30 大小:91KB
返回 下载 相关 举报
FLASHActionScrip编程语言基础学习_第1页
第1页 / 共30页
FLASHActionScrip编程语言基础学习_第2页
第2页 / 共30页
FLASHActionScrip编程语言基础学习_第3页
第3页 / 共30页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第2章 AS3.0编程语言基础,语法、数据、变量、运算符和语句构成了编程语言的基础。本章将通过大量的测试代码。详细的介绍ActionScript 3.0中的语法、数据类型,变量以及运算符。通过本章的学习,为以后的面向对象编程将打下一个坚实的基础。,1,2.1 AS3.0语法,任何一门编程语言在编写代码时都必须遵循一定的规则,这个规则就是语法。本节将着重介绍从ActionScript 2.0开始使用的点语法和区分大小写,了解编程常用的标点符号的使用,以及程序注释的使用方法。,2,2.1.1 点语法,Flash中使用点(.)运算符来访问对象的属性和方法,点运算符主要用于下面的几个方面。,1可以采用对象后面跟点运算符的属性名称(方法)名称来引用对象的属性(方法)。,2可以采用点运算符表示包路径。,3,可以使用点运算符描述显示对象的路径。,3,2.1.2 标点符号使用,在Flash中有多种标点符号都很常用,分别为:分号(;)、逗号(,)、冒号(:)、小括号(())、中括号()和大括号()。这些标点符号在Flash中都有各自不同的作用,可以帮助定义数据类型,终止语句或者构建ActionScript代码块。,1,分号(;):ActionScript语句用分号(;)字符表示语句结束。,2,逗号(,):逗号的作用主要用于分割参数,比如函数的参数,方法的参数等等。,3,冒号(:):冒号的作用主要用于为变量指定数据类型。要为一个变量指明数据类型,需要使用var关键字和后冒号法为其指定。,4小括号(()):小括号在ActionScript3.0中有三种用途。,首先,在数学运算方面,可以用来改变表达式的运算顺序。小括号内的数学表达式优先运算。,其次,在表达式运算方面,可以结合使用小括号和逗号运算符,来优先计算一系列表达式的结果并返回最后一个表达式的结果。,5,中括号():中括号主要用于数组的定义和访问,,6,大括号():大括号主要用于编程语言程序控制,函数和类中。,在构成控制结构的每个语句前后添加大括号(例如if.else 或for),即使该控制结构只包含一个语句。,4,2.1.3 注释,注释是使用一些简单易懂的语言对代码进行简单的解释的方法。注释语句在编译过程中并不会进行求值运算。可以用注释来描述代码的作用,或者返回到文档中的数据。注释也可以帮助记忆编程的原理,并有助于其他人的阅读。若代码中有些内容阅读起来含义大不明显,应该对其添加注释。,ActionScript3.0中的注释语句有两种:单行注释和多行注释。,单行注释以两个单斜杠(/)开始,之后的该行内容均为注释。比如下面的代码:,trace(1234)/输出:1234,5,2.1.4 关键字和保留字,保留字,从字面上就很容易知道这是保留给ActionScript 3.0语言使用的英文单词。因而不能使用这些单词作为变量、实例、类名称等。如果在代码中使用了这些单词,编译器会报错。,ActionScript3.0中的保留字分为3类:词汇关键字、语法关键字和供将来使用的保留字。,1词汇关键字,2句法关键字,3供将来使用的保留字。,6,2.2 变量和常量,变量和常量,都是为了储存数据而创建的。变量和常量就像是一个容器,用于容纳各种不同类型的数据。当然对变量进行操作,变量的数据就会发生改变,而常量则不会。,变量必须要先声明后使用,否则编译器就会报错。道理很简单,比如现在要去喝水,那么你首先要有一个杯子,否则怎么样去装水呢?要声明变量的原因与此相同。,7,2.2.1 声明变量的语法,在ActionScript 3.0中,使用var关键字来声明变量。格式如下所示。,var 变量名:数据类型;,var 变量名:数据类型=值;,变量名加冒号加数据类型就是声明的变量的基本格式。要声明一个初始值,需要加上一个等号并在其后输入响应的值。但值的类型必须要和前面的数据类型一致。,8,2.2.2 变量的命名规则,变量的命名既是任意的,又是有规则,有目的的。随手牵来、杂乱无章的命名在Flash里面容易引起代码的混乱,也不容易进行维护操作。,变量的命名首先要遵循下面的几条原则:,它必须是一个标识符。它的第一个字符必须是字母、下划线(_)或美元记号($)。其后的字符必须是字母、数字、下划线或美元记号。注意:不能使用数字作为变量名称的第一个字母。,它不能是关键字或动作脚本文本,例如true、false、null或undefined。特别不能使用ActionScript的保留字,否则编译器会报错。,它在其范围内必须是惟一的,不能重复定义变量。,9,2.2.3 变量的作用域,变量的作用域指可以使用或者引用该变量的范围,通常变量按照其作用域的不同可以分为全局变量和局部变量。全局变量指在函数或者类之外定义的变量,而在类或者函数之内定义的变量为局部变量。,全局变量在代码的任何地方都可以访问,所以在函数之外声明的变量同样可以访问,如下面的代码,函数Test()外声明的变量i在函数体内同样可以访问。,var i:int=1;,/定义Test函数,function Test() ,trace(i);,Test()/输出:1,10,2.2.4 变量的默认值,变量的默认值是指变量在没有赋值之前的值。对于ActionScript3.0的数据类型来说,都有各自的默认值,下面使用代码来测试一下:,通过上面的代码输出,已经可以得到这些数据类型变量的默认值,分别为:,Boolean型变量的默认值是:false。,int型变量的默认值是:0。,Number型变量的默认值是:NaN。,Object型变量的默认值是:null。,String型变量的默认值是:null。,uint型变量的默认值是:0。,*型变量的默认值是:undefined。,11,2.2.5 使用const声明常量,Action Script 3.0中增加了一个const关键字,用于声明常量。常量是指具有无法改变的固定值的属性。比如Math.PI就是一个常量。常量可以看做一种特殊的变量,不过这种变量不能赋值,不能更改而已。,使用用const声明常量的语法格式和var声明的变量的格式一样:,const 常量名:数据类型;,const 常量名:数据类型=值;,下面声明常量的代码:,const g:Number=9.8;,12,2.3 基础数据类型,和其它的面向对象的编程的数据类型一样,ActionScript3.0的数据类型同样分为两种,具体划分方式如下所示。,基元型数据类型:Boolean、int、Number、String和uint。,复杂型数据类型:Array、Date、Error、Function、RegExp、XML和XMLList。,一般来说,基元值的处理速度通常比复杂值的处理速度要快。,基元型数据和复杂型数据类型的最大的区别是:基元型是值对类型数据,而复杂型是引用类型数据。值对类型直接储存数据,使用它为另一个的变量赋值之后,若另一个变量改变,并不影响原变量的值。引用类型指向要操作的对象,另一个变量引用这个变量之后,若另一变量发生改变,原有的变量跟着也要发生改变。,基元型数据类型都是值对类型数据,复杂型数据都是引用类型数据。,另外,最明显的一个区别是,如果数据类型能够使用new关键字创建,那么它一定是引用型数据变量。,13,2.3.1 基础数据类型说明,本节通过大量的测试代码,来说明各种不同的数据类型的用法和使用中的注意事项。,1Boolean 数据类型,2数字:int、uint和Number,3String 数据类型,4Array数组类型,5Object数据类型,6Object数据类型,14,2.3.2 数据类型检查,任何编程代码在执行前或者执行时都要执行数据类型的检查,以避免出现数据错误。ActionScript 3.0是动态类型的语言,它默认的是执行时进行数据类型检查。同时它也在适合使用“严格模式”的编译器在编译时执行数据类型检查。在使用严格模式的编译器中,数据类型检查既可以在执行前执行编译器检查,也可以在运行时执行运行时检查。在标准模式下,只支持默认的执行时数据类型检查。,比如说在程序编写过程中,要明确传递变量值的类型和接受参数类型相同。比如下面的代码:,function func(mystr:String) ,trace(mystr);,var str:String=welcome you;,func(str);,15,2.3.3 隐式数据类型转换,数据类型转换是指把某个值转换为其它类型的数据。类型的转换有两种方式:隐式转换和显式转换。隐式转换又称为强制转换,由Flash Player在运行时执行。比如将2赋值给Boolean数据类型的变量,则Flash Player会先将2转换为布尔值true,然后再将其赋值给该变量。,隐式转换可以称为自动转换,是在程序编译的过程中由程序本身来进行数据类型的转换。它主要发生在许多上下文中。主要分为以下几种情况:,在赋值语句中。,在将值作为函数的参数传递时。,在从函数中返回值时。,在使用某些运算符(如加法运算符(+)的表达式中。,16,2.3.4 显式数据类型转换,显式转换是指代码若指示编译器将一个数据类型的变量视为属于另一个类型的变量时执行该转换。该转换主要利用数据类型的对象名称来转换。常用的数据转换均为此方式。,显示转换是利用数据类型的对象名称来转换,常见的主要有下面的几种。,1转换为 int、uint 和 Number,转换为Boolean,转换为 String,17,2.3.5 无类型说明符,ActionScript 3.0引入了三种特殊类型的无类型说明符:*,void和null。,使用*类型用于指定属性是无类型的。使用*作为类型注释与不使用类型注释等效。从无类型属性中读取的表达式可视为无类型表达式。该说明符主要用于两个方面:将数据类型检查延缓到运行时和将undefined存储在属性中。,void用于说明定函数无法返回任何值。void类型只有一个值:undefined。该说明符仅用于声明函数的返回类型。,null是一个没有值的特殊数据类型。Null数据类型只有一个值:null。Null数据类型的不与任何类相关联。不可将Null数据类型用作属性的类型注释。,18,2.4 运算符与表达式,学习一门编程语言,首先要弄清楚的就是如何对其中的数据进行运算。使用表达式来表达想要达到的效果,使用运算符来进行相关的运算,这就是数据运算的关键。本节主要介绍常用的运算符的用法。,19,2.4.1 运算符和表达式基础知识,运算符是可以通过给出的一个或者多个值来产生另一个值的东西。可以说它是一种特殊的函数。其中的值称为“操作数”,具体包括字面值、变量和表达式。,运算符分为三种:一元运算符、二元运算符、三元运算符。一元运算符只运算一个值,例如递增运算符+;二元运算符比较常见,ActionScript 3.0中大部分运算符都是二元运算符;三元运算符具有三个操作数,例如条件运算符(?:)具有3个操作数。,20,2.4.2 赋值运算符,赋值运算符有两个操作数,它根据一个操作数的值对另一个操作数进行赋值操作。ActionScript中的赋值运算有12个,,赋值运算符,运算符,执行的运算,=,赋值,*=,乘法赋值,/=,除法赋值,%=,求模赋值,+=,加法赋值,-=,减法赋值,=,按位向右移位赋值,=,按位无符号向右移位赋值,&=,按位,与,赋值,=,按位,异或,赋值,|=,按位,或,赋值,21,2.4.3 算术运算符,算术运算符共有6个,分别为:加、减、乘、除、模运算和求反运算。,加、减、乘、除的运算很简单,请看下面的代码示例:,var a:int=1;,var b:int=2;,var c:int=a+b;,var d:int=a-b;,var e:int=a*b;,var f:int=a/b;,22,2.4.4 算术赋值运算符,算术赋值运算符和算术运算符对应,共有5个,分别为+=、-=、*=、/=和%=。和赋值运算符一样,运算符的左边只能是变量。右侧是一个要值、变量或表达式。,这种类型的赋值运算符有时也叫做自赋值运算符,就是利用自己进行运算并赋值给自己。比如下面的代码语句:,a+=1;,其要表达的运算过程就是下面的的代码要执行的运算过程。,a=a+1;,23,2.4.5 关系运算符,关系运算符用于比较两个操作数的值的大小关系。常见的关系运算符一般分为两类:一类用于判断大小关系,一类用于判断相等关系。其具体情况如下:,判断大小关系:大于运算符、=大于等于运算符、按位右移位、按位无符号移位。同样,按位赋值运算符也有6个,对照按位运算符分别为:&=按位“与”赋值、=按位“异或”赋值、|=按位“或”赋值、=按位右移位赋值、=按位无符号移位赋值。,按位操作需要把十进制的整数,转换为二进制的数,然后进行操作。,按位与操作过程:按位与操作的规则为:1+1=1,1+0=0,0+1=0,0+0=0。比如11&34,11转二进制数为001011,34转二进制数为100010。现在按照位置从右向左第一位分别为1和0,所以取与后仍为0,依次取与的最后结果为000010。000010转为十进制数为2,所以最后的输出结果为2。代码如下所示。,var a:int=11;,var b:int=34;,trace(a/输出为:2,26,2.4.8 递加递减运算符,+递加运算符和递减运算符常用于循环计算过程中,对循环中的变量进行递加或者递减操作。比如i+,它等价于i=i+1。测试代码如下:,var i:int=0,i+,trace(i)/输出:1,同样,i等价于i=i-1。测试代码如下:,var i:int=5;,i-;,trace(i);/输出:4,27,2.4.9 三元条件运算符,?:运算符是唯一的一个三元运算符,也就是说,这个运算符有三个操作数。具体的语法格式如下:,(条件表达式)?(表达式1):(表达式2),格式说明如下:,条件表达式:判断表达式,通过逻辑判断,得到一个Boolean型的结果。,表达式1:判断表达式的结果为true,执行该语句。,表达式2:判断表达式的结果为false,执行该语句。,28,2.4.10 其它运算符,在ActionScript3.0中还有几个常见的运算符,如:typeof、is、as。下面对这几个运算符进行简单的说明:,1typeof运算符:typeof用于测试对象的的类型,使用的方法如下:,typeof(对象);,2is运算符:is运算符用于判断一个对象是不是属于一种数据类型,返回Boolean型变量。如果对象属于同一类型,则返回true,否则返回false。,3as运算符:as运算符和is运算符的使用格式相同,但是返回的值不同。如果对象的类型相同,返回对象的值;若不同,则返回null。,29,2.4.11 运算符的优先级,运算符的优先级顺序决定了一个表达式运算顺序。就像数学中的乘除运算要优于加减运算一样,ActionScript 3.0 中的各运算符之间也有一个优先运算的顺序。具体请参照表所示。,运算符优先顺序表,组,运算符,主要, x:y () f(x) new x.y xy : .,后缀,x+ x-,一元,+x -x + - ! delete typeof void,乘法,* / %,加法,+ -,按位移位, ,关系, = as in instanceof is,等于,= != = !=,按位,与,&,按位,异或,按位,或,|,逻辑,与,&,逻辑,或,|,条件,?:,赋值,= *= /= %= += -= = = &= = |=,逗号,30,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!