AS30编程语言基础_第1页
AS30编程语言基础_第2页
AS30编程语言基础_第3页
AS30编程语言基础_第4页
AS30编程语言基础_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AS30编程语言基础 第2章 AS3.0编程语言基础 语法、数据、变量、运算符和语句构成了编程语 言的基础。本章将通过大量的测试代码。详细的 介绍ActionScript 3.0中的语法、数据类型,变 量以及运算符。通过本章的学习,为以后的面向 对象编程将打下一个坚实的基础。 AS30编程语言基础 2.1 AS3.0语法 任何一门编程语言在编写代码时都必须遵循一定 的规则,这个规则就是语法。本节将着重介绍从 ActionScript 2.0开始使用的点语法和区分大小 写,了解编程常用的标点符号的使用,以及程序 注释的使用方法。 AS30编程语言基础 2.1.1 点语法 Flash中使用点(.)

2、运算符来访问对象的属性和 方法,点运算符主要用于下面的几个方面。 1可以采用对象后面跟点运算符的属性名称(方 法)名称来引用对象的属性(方法)。 2可以采用点运算符表示包路径。 3可以使用点运算符描述显示对象的路径。 AS30编程语言基础 2.1.2 标点符号使用 在Flash中有多种标点符号都很常用,分别为:分号(;)、逗号(,)、冒号(:)、 小括号(())、中括号()和大括号()。这些标点符号在Flash中都有各自不 同的作用,可以帮助定义数据类型,终止语句或者构建ActionScript代码块。 1分号(;):ActionScript语句用分号(;)字符表示语句结束。 2逗号(,):逗

3、号的作用主要用于分割参数,比如函数的参数,方法的参数等等。 3冒号(:):冒号的作用主要用于为变量指定数据类型。要为一个变量指明数据类 型,需要使用var关键字和后冒号法为其指定。 4小括号(()):小括号在ActionScript3.0中有三种用途。 首先,在数学运算方面,可以用来改变表达式的运算顺序。小括号内的数学表达式优 先运算。 其次,在表达式运算方面,可以结合使用小括号和逗号运算符,来优先计算一系列表 达式的结果并返回最后一个表达式的结果。 5中括号():中括号主要用于数组的定义和访问, 6大括号():大括号主要用于编程语言程序控制,函数和类中。 在构成控制结构的每个语句前后添加大括

4、号(例如if.else 或for),即使该控制结 构只包含一个语句。 AS30编程语言基础 2.1.3 注释 注释是使用一些简单易懂的语言对代码进行简单 的解释的方法。注释语句在编译过程中并不会进 行求值运算。可以用注释来描述代码的作用,或 者返回到文档中的数据。注释也可以帮助记忆编 程的原理,并有助于其他人的阅读。若代码中有 些内容阅读起来含义大不明显,应该对其添加注 释。 ActionScript3.0中的注释语句有两种:单行注释 和多行注释。 单行注释以两个单斜杠(/)开始,之后的该行 内容均为注释。比如下面的代码: trace(1234)/输出:1234 AS30编程语言基础 2.1.

5、4 关键字和保留字 保留字,从字面上就很容易知道这是保留给 ActionScript 3.0语言使用的英文单词。因而不 能使用这些单词作为变量、实例、类名称等。如 果在代码中使用了这些单词,编译器会报错。 ActionScript3.0中的保留字分为3类:词汇关键 字、语法关键字和供将来使用的保留字。 1词汇关键字 2句法关键字 3供将来使用的保留字。 AS30编程语言基础 2.2 变量和常量 变量和常量,都是为了储存数据而创建的。变量 和常量就像是一个容器,用于容纳各种不同类型 的数据。当然对变量进行操作,变量的数据就会 发生改变,而常量则不会。 变量必须要先声明后使用,否则编译器就会报错。

6、 道理很简单,比如现在要去喝水,那么你首先要 有一个杯子,否则怎么样去装水呢?要声明变量 的原因与此相同。 AS30编程语言基础 2.2.1 声明变量的语法 在ActionScript 3.0中,使用var关键字来声明变 量。格式如下所示。 var 变量名:数据类型; var 变量名:数据类型=值; 变量名加冒号加数据类型就是声明的变量的基本 格式。要声明一个初始值,需要加上一个等号并 在其后输入响应的值。但值的类型必须要和前面 的数据类型一致。 AS30编程语言基础 2.2.2 变量的命名规则 变量的命名既是任意的,又是有规则,有目的的。随手牵 来、杂乱无章的命名在Flash里面容易引起代码

7、的混乱,也 不容易进行维护操作。 变量的命名首先要遵循下面的几条原则: 它必须是一个标识符。它的第一个字符必须是字母、下划 线(_)或美元记号($)。其后的字符必须是字母、数字、 下划线或美元记号。注意:不能使用数字作为变量名称的 第一个字母。 它不能是关键字或动作脚本文本,例如true、false、null 或undefined。特别不能使用ActionScript的保留字,否则 编译器会报错。 它在其范围内必须是惟一的,不能重复定义变量。 AS30编程语言基础 2.2.3 变量的作用域 变量的作用域指可以使用或者引用该变量的范围,通常变 量按照其作用域的不同可以分为全局变量和局部变量。全

8、局变量指在函数或者类之外定义的变量,而在类或者函数 之内定义的变量为局部变量。 全局变量在代码的任何地方都可以访问,所以在函数之外 声明的变量同样可以访问,如下面的代码,函数Test()外 声明的变量i在函数体内同样可以访问。 var i:int=1; /定义Test函数 function Test() trace(i); Test()/输出:1 AS30编程语言基础 2.2.4 变量的默认值 变量的默认值是指变量在没有赋值之前的值。对于 ActionScript3.0的数据类型来说,都有各自的默认值,下 面使用代码来测试一下: 通过上面的代码输出,已经可以得到这些数据类型变量的 默认值,分别

9、为: Boolean型变量的默认值是:false。 int型变量的默认值是:0。 Number型变量的默认值是:NaN。 Object型变量的默认值是:null。 String型变量的默认值是:null。 uint型变量的默认值是:0。 *型变量的默认值是:undefined。 AS30编程语言基础 2.2.5 使用const声明常量 Action Script 3.0中增加了一个const关键字, 用于声明常量。常量是指具有无法改变的固定值 的属性。比如Math.PI就是一个常量。常量可以看 做一种特殊的变量,不过这种变量不能赋值,不 能更改而已。 使用用const声明常量的语法格式和var

10、声明的变 量的格式一样: const 常量名:数据类型; const 常量名:数据类型=值; 下面声明常量的代码: const g:Number=9.8; AS30编程语言基础 2.3 基础数据类型 和其它的面向对象的编程的数据类型一样,ActionScript3.0的数 据类型同样分为两种,具体划分方式如下所示。 基元型数据类型:Boolean、int、Number、String和uint。 复杂型数据类型:Array、Date、Error、Function、RegExp、XML 和XMLList。 一般来说,基元值的处理速度通常比复杂值的处理速度要快。 基元型数据和复杂型数据类型的最大的区

11、别是:基元型是值对类 型数据,而复杂型是引用类型数据。值对类型直接储存数据,使 用它为另一个的变量赋值之后,若另一个变量改变,并不影响原 变量的值。引用类型指向要操作的对象,另一个变量引用这个变 量之后,若另一变量发生改变,原有的变量跟着也要发生改变。 基元型数据类型都是值对类型数据,复杂型数据都是引用类型数 据。 另外,最明显的一个区别是,如果数据类型能够使用new关键字创 建,那么它一定是引用型数据变量。 AS30编程语言基础 2.3.1 基础数据类型说明 本节通过大量的测试代码,来说明各种不同的数 据类型的用法和使用中的注意事项。 1Boolean 数据类型 2数字:int、uint和N

12、umber 3String 数据类型 4Array数组类型 5Object数据类型 6Object数据类型 AS30编程语言基础 2.3.2 数据类型检查 任何编程代码在执行前或者执行时都要执行数据类型的检 查,以避免出现数据错误。ActionScript 3.0是动态类型 的语言,它默认的是执行时进行数据类型检查。同时它也 在适合使用“严格模式”的编译器在编译时执行数据类型 检查。在使用严格模式的编译器中,数据类型检查既可以 在执行前执行编译器检查,也可以在运行时执行运行时检 查。在标准模式下,只支持默认的执行时数据类型检查。 比如说在程序编写过程中,要明确传递变量值的类型和接 受参数类型相

13、同。比如下面的代码: function func(mystr:String) trace(mystr); var str:String=welcome you; func(str); AS30编程语言基础 2.3.3 隐式数据类型转换 数据类型转换是指把某个值转换为其它类型的数据。类型 的转换有两种方式:隐式转换和显式转换。隐式转换又称 为强制转换,由Flash Player在运行时执行。比如将2赋值 给Boolean数据类型的变量,则Flash Player会先将2转换 为布尔值true,然后再将其赋值给该变量。 隐式转换可以称为自动转换,是在程序编译的过程中由程 序本身来进行数据类型的转换

14、。它主要发生在许多上下文 中。主要分为以下几种情况: 在赋值语句中。 在将值作为函数的参数传递时。 在从函数中返回值时。 在使用某些运算符(如加法运算符(+)的表达式中。 AS30编程语言基础 2.3.4 显式数据类型转换 显式转换是指代码若指示编译器将一个数据类型 的变量视为属于另一个类型的变量时执行该转换。 该转换主要利用数据类型的对象名称来转换。常 用的数据转换均为此方式。 显示转换是利用数据类型的对象名称来转换,常 见的主要有下面的几种。 1转换为 int、uint 和 Number 转换为Boolean 转换为 String AS30编程语言基础 2.3.5 无类型说明符 Actio

15、nScript 3.0引入了三种特殊类型的无类型说明符:*, void和null。 使用*类型用于指定属性是无类型的。使用*作为类型注释 与不使用类型注释等效。从无类型属性中读取的表达式可 视为无类型表达式。该说明符主要用于两个方面:将数据 类型检查延缓到运行时和将undefined存储在属性中。 void用于说明定函数无法返回任何值。void类型只有一个 值:undefined。该说明符仅用于声明函数的返回类型。 null是一个没有值的特殊数据类型。Null数据类型只有一 个值:null。Null数据类型的不与任何类相关联。不可将 Null数据类型用作属性的类型注释。 AS30编程语言基础

16、2.4 运算符与表达式 学习一门编程语言,首先要弄清楚的就是如何对 其中的数据进行运算。使用表达式来表达想要达 到的效果,使用运算符来进行相关的运算,这就 是数据运算的关键。本节主要介绍常用的运算符 的用法。 AS30编程语言基础 2.4.1 运算符和表达式基础知识 运算符是可以通过给出的一个或者多个值来产生 另一个值的东西。可以说它是一种特殊的函数。 其中的值称为“操作数”,具体包括字面值、变 量和表达式。 运算符分为三种:一元运算符、二元运算符、三 元运算符。一元运算符只运算一个值,例如递增 运算符+;二元运算符比较常见,ActionScript 3.0中大部分运算符都是二元运算符;三元运

17、算符 具有三个操作数,例如条件运算符(?:)具有3个 操作数。 AS30编程语言基础 2.4.2 赋值运算符 赋值运算符有两个操作数,它根据一个操作数的 值对另一个操作数进行赋值操作。ActionScript 中的赋值运算有12个 , 赋值运算符 运算符执行的运算 = 赋值 *= 乘法赋值 /= 除法赋值 %= 求模赋值 += 加法赋值 -= 减法赋值 = 按位向右移位赋值 = 按位无符号向右移位赋值 var b:int=2; var c:int=a+b; var d:int=a-b; var e:int=a*b; var f:int=a/b; AS30编程语言基础 2.4.4 算术赋值运算符

18、 算术赋值运算符和算术运算符对应,共有5个,分 别为+=、-=、*=、/=和%=。和赋值运算符一样, 运算符的左边只能是变量。右侧是一个要值、变 量或表达式。 这种类型的赋值运算符有时也叫做自赋值运算符, 就是利用自己进行运算并赋值给自己。比如下面 的代码语句: a+=1; 其要表达的运算过程就是下面的的代码要执行的 运算过程。 a=a+1; AS30编程语言基础 2.4.5 关系运算符 关系运算符用于比较两个操作数的值的大小关系。常见的 关系运算符一般分为两类:一类用于判断大小关系,一类 用于判断相等关系。其具体情况如下: 判断大小关系:大于运算符、=大于等于 运算符、=小于等于运算符。 判断相等关系:等于运算符、!=不等于运算符、=严 格等于运算符、!=严格不等于运算符。 关系运算符左右两侧可以是数值、变量或者表达式。关系 表达式的结果是Boolean值,flase或者true 。 1判断大小关系的运算符 2判断相等关系的运算符: AS30编程语言基础 2.4.6 逻辑运算符 逻辑运算符有3个,分别为: var b:int=34; trace(a/输出为:2 AS30编程语言基础 2.4.8 递加递减

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论