《flex4之语法入门精品资料.doc》由会员分享,可在线阅读,更多相关《flex4之语法入门精品资料.doc(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 Flex概述Flex是Adobe公司推出的一系列工具和技术,使开发人员可以开发和部署可升级的富互联网应用程序(RIAs)。Flex提供了一种现代的、基于标准的语言来支持公共模板设计、客户端运行环境、编程模型、开发模型和高级数据服务。富互联网应用程序(RIAs)是指像使用Web一样的简单方式来部署富客户端程序。这种程序具有比HTML更加健壮、反应更加灵敏和互动性更丰富的特点。1.1 Flex简介传统的基于HTML的应用程序部署成本低、结构简单、简单易学。很多用户和开发人员于是放弃了现代高性能计算机能带来的用户体验,转而追求数据的快速访问,从而丧失了一些重要的UI功能。RIA利用相对健壮的
2、客户端描述引擎。RIA的另一个好处是:数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快且数据往返于服务器的次数更少的用户界面。Flex是Adobe公司近两年推出的重量级产品与技术。Flex的出现就是为了高效地开发和部署富互联网应用程序。(源码网整理:)1.1 Flex简介Adobe公司对于Flex采取了开源的策略,所以开发者可以在Flex原代码的基础上修改。新版Flex 4中的开发环境已经更名为Flash Builder,而不再是Flex Builder系列。Flex采用事件驱动机制,程序的执行过程严格按照事件发生的时间顺序执行。本节将介绍为读者Flex开发技术的特点、优点
3、和新特性。 1.1.1 Flex的技术特点Flex可以在企业内部或在 Web 上创建富互联网应用程序(RIA),堪称最完整、最强大的RIA开发解决方案。它使企业能够创建个性化的丰富多媒体应用程序,极大地提高用户的体验,彻底革新人与 Web 的交互关系。1增强用户体验2完善的开发环境3通用的配置环境4企业级的特征5消除页面加载6标准的架构7与浏览器兼容1.1.2 Flex SDK 4的新特性Flex 4较之Flex 3有了许多令人兴奋的新特性。1新增主题和组件2增强布局方式3增强特效和滤镜效果4新增双向绑定功能5增强的CSS6增强的HTML模板7增强的状态8增强ASDoc的支持(ASDoc是ad
4、obe官方提供的ActionScript的API文档生成工具,类似于java中的 javadoc,可以很放方便的生成api文档,对团队开发有很大帮助,)9运行时共享库10本地化1.2 Flash Builder的下载与安装Flash Builder的安装文件可从Adobe官方主页下载。安装文件版本有Flash Builder 4 Standalone Installer版本和Flash Builder 4 Plugin for Eclipse版本两种。Flash Builder 4 Standalone Installer是独立的开发工具的版本,Flash Builder 4 Plugin f
5、or Eclipse是可将Flex 4集成于Eclipse的安装插件。本节介绍Flash Builder 4 Standalone Installer的下载与安装。1.2.1 安装Flash Builder的系统要求Flash Builder 4可以安装在Windows操作系统上,也可以安装于Mac OS X操作系统中。安装Flash Builder 4的最低配置如下。1Windows操作系统最低要求2Mac OS X操作系统最低要求1.2.2 下载Flash Builder Beta(1)浏览器中输入“ Flex主页。(2)单击“Flash Builder 4”图标或者文字链接,进入Flas
6、h Builder 4的下载页面。(3)单击“Download the Flash Builder 4 beta 2 release”链接,进入Flash Builder 4验证页面。(4)下载Adobe公司的产品需要输入Adobe ID和Password,可以免费注册。注册步骤用户可按网页提示。(5)单击“Flash Builder 4 Standalone Installer”下的“Download Flash Builder 4 Installer for Windows”链接,开始下载Windows平台版本的Flash Builder 4。1.2.3 Flash Builder 4 B
7、eta的安装(1)双击“FlashBuilder.exe”,弹出选择安装语言对话框。(2)单击“OK”按钮,弹出安装第一步骤“简介”对话框。(3)单击“下一步”按钮,弹出安装第二步骤“许可协议”对话框。(4)选择“本人接受许可协议条款”单选框,单击“下一步”按钮,弹出安装第三步骤“选择安装文件夹”对话框。1.2.3 Flash Builder 4 Beta的安装(5)在文本框中输入安装路径或是单击“选择”按钮选择安装路径。(6)单击“安装”按钮。完成安装后自动弹出安装第五步骤“安装完毕”对话框。(7)单击“完成”按钮,完成安装。 1.2.4 Flash Builder的新特性1新增工作流模式与
8、Flash Catalyst的支持2新增网络监控功能3添加单元测试的支持4新增ASDoc的支持5自动生成getter和setter6自动生成事件处理函数结构7增强调试器功能8新增Flash CS4组件开发包9导入和应用诸多主题10新增类包浏览器1.3 Flex基础结构MXML介绍开发者使用两种语言来写Flex应用程序:MXML和ActionScript。MXML是一种XML标识语言,用于进行组件布局。MXML中的组件包括了可视组件和非可视组件。非外观组件可以是从服务器中读取的数据源或用户组件绑定至服务器中的数据。1.4 建立第一个Flex 4程序下面以“Hello World”为第一个例子为读
9、者详细说明如何建立第一个Flex 4程序,步骤如下。(1)选择“文件”|“新建”|“Flex项目”命令,弹出“新建Flex项目”对话框。(2)在“项目名”文本框中输入项目名称,“应用程序类型”下拉框选择“Web(runs in Adobe Flash Palyer)”。(3)在“主应用程序”文本框中输入默认项目启动的文件名,其他可默认。单击“完成”按钮,完成项目的创建。1.4 建立第一个Flex 4程序(4)在编辑工作区中单击“Design”按钮,进入设计模式。(5)从左下角的“组件”列表,选择“控件”子文件夹下的“标签”控件。拖动控件到设计模式工作区。(6)选择“标签”控件,然后在右下角的属
10、性工作区里设置“标签”控件的属性。(7)在代码模式下,生成的MXML代码。 1.5 编译与运行第一个Flex 4程序前面建立了“Hello World”程序,编译与运行程序的步骤如下。(1)在想要成为程序默认初始页的mxml文件上右击,选择“设置为默认应用程序”。(2)菜单中选择“运行”|“运行HelloWorld”命令,Flash Builder 4就开始编译与运行程序。(3)效果如图1-19所示。1.6 小结本章对Flex进行了介绍,包括Flex技术特点、新特性和优点。Flex应用程序具有丰富的交互性、操作性和用户体验,能开发出与HTML更强大的网络应用程序。本章图文并茂地讲解了Flash
11、 Builder 4的下载与安装。Flash Builder 4是Flex应用程序开发的利器,能快速、有效地开发Flex应用程序。有关Flash Builder 4的内容将在下一章介绍。本章最后以“Hello World”为例,为读者详细讲解了Flex应用程序的开发编写及编译运行过程。第2章 熟悉开发环境Flash Builder 4“工欲善其事必先利其器”。Flash Builder 4是Adobe公司推出的集成开发环境。Flash Builder 4工作环境是一种具有丰富特征的开发环境,有利于开发者开发Flex和ActionScript应用程序。Flash Builder 4建立在Ecli
12、pse这一开源的集成开发环境(IDE)上,用户可使用强大的代码编辑器,可视化设计器,调试工具等来开发Flex应用程序。2.1 熟悉Flash Builder 4工作区Flash Builder 4工作区是开发Flex应用程序的工作环境,熟悉工作环境对开发的益处是显而易见的。Flash Builder 4平台是基于Eclipse平台,因此与Eclipse的布局风格异常相似。Flash Builder 4平台的特点是集可视化编辑与代码编辑为一体,用户在Flash Builder 4环境下可方便地切换设计模式和代码模式。2.1.1 Perspectives(透视)透视是一种布局风格,与任务、编辑器和
13、视图相关联。一旦切换透视,对应的任务、编辑器或视图就可能发生改变。Flash Builder 4包含3种透视:“Flash”透视、“Flash Debug”透视以及“Flash Profile”透视。2.1.2 Editors(编辑器)1MXML编辑器2ActionScript编辑器3CSS编辑器2.1.3 Views(视图)视图是用以辅助用户管理工程和开发项目。用户通过视图可以较直观地处理一些需求。例如,“包资源管理器”既可以管理工作区中的文件和文件夹,又可以浏览包和类的结构。2.2 编译与运行Flex 4程序详解MXML语言和ActionScript语言都是需要编译后才能运行的。Flash
14、 Builder 4开发环境中集成了两者的编译器,用户只需选择相应的编译运行命令。本书在介绍第一个Flex程序“Hello World”程序时,简单地介绍了了如何编译与运行Flex应用程序。事实上编译时可选的参数较多,本节将为读者介绍详细的编译与运行过程。仍以“Hello World”为例,讲解编译与运行过程中的可选参数。2.3 调试Flex 4程序程序常包含不可知的逻辑错误,这些错误不属于编译错误,编译器不能检查此类错误。例如,程序中要判断闰年,代码的语法正确但判断的方法是错误的,此时编译器不会报错。使用在调试功能能跟踪代码每一步的执行,从而检查逻辑错误。Flash Builder 4开发环
15、境有强大的调试功能,有利于程序进行代码检查。本节介绍如何调试Flex应用程序,包括添加断点、开始调试、监视变量等。2.3.1 添加断点断点的作用是使应用程序在带断点的代码行处中断,从而开始检查代码。同时,用户可使用Flash Builder 4自带的调试工具检测并修复错误。例如,变量视图和表达式视图。在代码编辑器中添加断点的方法很多。调试器只允许在以下代码的断点处中断。MXML标签中包含ActionScript事件处理,如。其中“click”是单击处理事件。ActionScript代码中。可以是MXML文件中的标签下,也可以是ActionScript文件中。ActionScript文件中的任何
16、代码行。2.3.2 调试程序在设置完断点后可选择“运行”|“调试”命令,选择相应的运行配置开始调试。也可单击工具栏上的按钮或快捷键F11开始调试。调试器运行后就会自动进入“Flash Debug”透视。其中比较有用的是调试视图。在调试程序时常需要监视某些变量的变化,从而发现代码中的错误。变量视图能自动跟踪程序中变量的变化。2.4 Flex 4项目工程概述Flex 4现支持创建的项目工程有三类:Flex 项目、ActionScript 项目、和Flex 库项目。不同的工程用于开发不同的项目。Flex 项目工程是普通的RIA工程,主要用于开发互联网应用程序。ActionScript 项目工程主要用
17、于开发ActionScript类库。Flex 库项目用于开发共享库,可以是自定义组件,也可以是ActionScript代码。2.4.1 Flex 项目Flex 项目是最基础配置的工程,Flex项目包括两种应用程序类型:Web和Desktop。使用Flex框架、XML、Web services等来开发Flex应用程序。Web应用程序类型是在Flash Builder 4中编译后会将可执行文件(swf文件)放在HTML文件中,最终生成的是Web应用程序。Desktop应用程序类型是在Flash Builder 4中编译后会将文件放在AIR平台中,最终生成的是AIR应用程序。2.4.2 Action
18、Script 项目ActionScript 项目使用的是Flash API,而不是Flex框架。ActionScript 项目没有可视化的表现。也就是说ActionScript应用程序中没有设计模式这样的概念。ActionScript项目编译后也可运行于Flash Player中。2.4.3 Flex 库项目Flex库项目用以创建自定义的代码库。代码库可共享于应用程序或是其他开发人员。Flex库项目编译后生成SWC文件。SWC文件包含组件、各种资源和catalog.xml文件。SWC常被用于制作主题和制作应用程序的外观。一个SWC主题可以包括多个CSS文件和全部的图片、动画资源。2.5 Fla
19、sh Builder 4常用快捷键快捷键的作用是使得开发工作更加高效和简单。Flash Builder 4中提供了许多快捷键。用户想要更多的快捷键说明,可选择“帮助”|“键辅助”命令或“Shift+Ctr+L”快捷键查看。2.6 使用Flex帮助开发Flex应用程序过程中难免会遇到困难,如对某一组件的某一属性不清楚,此时也查看Flex 帮助。在安装Flash Builder 4后,自动安装了Flex 帮助。用户可选择“帮助”|“帮助内容”命令打开Flex 帮助。Flex 帮助左下方的图标表示显示全部内容,图标表示显示搜索结果,图标表示显示链接,图标表示显示书签。单击不同的图标会切换至不同的内容
20、。另外,用户可在左上方的“搜索”输入框中输入要搜索的内容。2.7 小结Flash Builder 4是功能强大的集成开发环境,能高效地开发Flex应用程序。本章主要介绍了Flash Builder 4的相关基础。内容包括熟悉Flash Builder 4工作区,如何编译运行程序,如何调试程序,不同项目工程的作用、常用快捷键、Flex 帮助的使用等。通过本章的学习,读者会对Flash Builder 4的开发环境会有一个比较清楚的了解。第3章 ActionScript 3.0基础ActionScript 3.0是在Flash Player运行环境下的编程语言,是一种面向对象的语言。在Flex工程
21、中,使用ActionScript 3.0语言作为编程语言。应用程序的功能实现全部依赖于ActionScript 3.0。3.1 ActionScript 3.0概述ActionScript 3.0是运行于Flash Player运行环境的编程语言,使用新的ActionScript虚拟机AVM 2。AVM 2使用新的二进制指令集,并在性能上有很大改进。同时,ActionScript 3.0使用面向对象模型,扩展和提高了应用程序接口。ActionScript 3.0代码被Flex Builder或Flash中的编译器编译成二进制数据。这种二进制数据被装入SWF文件中,然后运行于Flash Play
22、er运行环境中。3.2 使用ActionScript 3.0Flex工程中可有两种方式使用ActionScript 3.0代码:一种是在MXML文件的标签下使用ActionScript 3.0代码,另一种是直接在AS文件中编写ActionScript 3.0代码。3.2.1 在MXML文件中直接编写ActionScript 3.0在MXML文件中编写ActionScript 3.0代码,只要在MXML文件下插入标签。在MXML文件中的标签下使用ActionScript 3.0。在Flex Builder 3的编辑器中输入标签会自动封闭。例如,输入“”后,自动生成封闭区域“”。3.2.2 在AS
23、文件中编写ActionScript 3.0ActionScript Class、ActionScript File和ActionScript Interface都属于AS文件。它们三者的文件格式都为AS格式,不同的只是其中的定义有所区别。Flex应用程序中最常使用的AS文件是ActionScript Class,也就类的定义。用户可使用ActionScript Class创建向导来完成创建。3.2.3 MXML中引用AS文件MXML文件中若要引用AS文件有两种方式:一种是引用使用标签中的“source”属性。这种方式可看成是将MXML文件和AS文件分离,从而减小MXML文件的代码,提高重用性。
24、另外一种方法是引用ActionScript Class(类)。使用这种方法的前提是AS文件中定义的是一个类。3.3 创建第一个ActionScript 3.0应用程序用户可以使用Flash、Flex Builder、Dreamweaver等任何文本编辑器编写ActionScript 3.0代码(as格式文件)。1设计ActionScript 3.0应用程序2创建HelloWorld工程和Greeter类3编写Greeter类4HelloWorld.mxml文件中添加ActionScript 3.0代码5编译运行程序3.4 小结ActionScript 3.0是Flex应用程序中的编程语言,控制
25、Flex应用程序的执行,完成应用程序的各项功能。在Flex工程中使用ActionScript 3.0有两种方法:一种是在MXML文件的标签下,一种是在AS文件中。对于大型应用程序来说,代码与模型的分离能使得程序更简洁。另外,将ActionScript 3.0代码写入AS文件也提高了代码的重用性。可以使用标签中的Source属性来指明引用的AS文件,也可以使用引用类的方法来使用AS类。第4章 数据类型程序中使用的各种变量都应预先加以定义,即先定义,后使用。对变量的定义可以包括三个方面:数据类型,存储类型,作用域。数据类型表示了变量的性质、表示形式、占据存储空间等。在ActionScript 3.
26、0语言中,数据类型可分为:基本数据类型:其值不可以再分解为其他类型。复杂数据类型:复杂数据类型根据已定义的一个或多个数据类型定义。4.1 常量与变量对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。常量和变量可与数据类型结合起来,如整型常量、整型变量、实型常量、实型变量、字符串常量、字符串变量。在程序中常量是可以不经说明而直接引用的,而变量则必须先定义后使用。4.1.1 直接常量和符号常量1直接常量整型常量:12、0、-3;实型常量:4.6、-1.23;字符串常量:“adf”、“b”。2符号常量符号常量是用标识符代表
27、一个常量。标识符是用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。4.1.2 变量程序中其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量定义必须放在变量使用之前。变量名和变量值是两个不同的概念。变量名是指变量的名称,用以区别不同的变量。变量值是指变量中包含的值。4.1.3 变量赋初值变量赋初值是指变量定义时就赋值给变量,也称为变量初始化。4.1.4 局部变量和全局变量局部变量也称为内部变量,是在函数内作定义说明的变量。其作用域仅限于函数内,离开该函数后再使用这种变量就是非法的。主调函数中定义的变量也只能在主调函数中使用,不能在其他函数
28、中使用。形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。允许在不同的函数中使用相同的变量名。全局变量也称为外部变量,是在函数外部定义的变量。4.1.5 变量的存储方式变量的存储方式按是否预先分配内存空间,可分为动态存储方式和静态存储方式。静态存储方式是指在程序运行期间分配固定的存储空间方式。动态存储方式是指在程序运行期间根据需要进行动态的分配存储空间方式。用户存储空间可以分为3个部分:程序区静态存储区动态存储区动态存储区存放以下数据:函数形式参数自动变量(未加static声明的局部变量)4.1.5 变量的存储方式函数调用时的现场保护和返回地址对于以上这些数据,在函数开始调用
29、时分配动态存储空间,函数结束时释放这些空间。有时用户希望函数中的局部变量的值在函数调用结束后仍保留原值,这时就需要指定局部变量为静态局部变量,使用用关键字static进行声明。 4.2 整型数据整型数据用以存储整型量,如2、60等。整型数据可以是整型常量,也可以是整型变量。4.2.1 整型常量1十进制整型常量2八进制整型常量3十六进制整型常量4.2.2 整型变量1整型变量的分类2整型变量的定义3整型数据的溢出4.3 实型数据 实型数据用以存储实型量。ActionScript 3.0 中实型数据类型只有一种:Number 型。实型数据可以是实型常量,也可以是实型变量。 4.3.1 实型常量的表示
30、方法1十进制形式2指数形式4.3.2 实型变量1实型数据在内存中的存放形式2实型变量的定义3实型数据的舍入误差4.4 字符串数据字符串数据存储字符串量,包括字符串常量和字符串变量。ActionScript 3.0中字符串数据类型为:String型。4.4.1 字符串常量字符串常量是指存储字符串的常量,由一对双引号或单引号封闭的字符串序列。4.4.2 转义字符转义字符是一种特殊的字符常量,主要用来表示那些用一般字符不便于表示的控制代码。转义字符以反斜线开头,后跟一个或几个字符。4.4.3 字符串变量字符串变量是指存储字符串的变量。4.5 各类型数据之间的转换变量的数据类型是可以转换的。转换的方法
31、有两种,一种是自动转换,一种是强制转换。4.5.1 自动类型转换自动转换遵循以下规则:(1)若参与运算量的类型不同,则先转换成同一类型,然后进行运算。(2)转换按数据长度增加的方向进行,以保证精度不降低。(3)在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。4.5.2 强制类型转换强制类型转换把表达式的运算结果强制转换成某种数据类型。在使用强制转换时应注意以下问题:(1)括号所处的位置要正确。(2)无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。4.6 小结ActionScript
32、 3.0中的数据类型分为基本数据类型和复杂数据类型。本章详细介绍了整型、实型、字符串型。根据数据是否是变量或常量,基本数据又可分为整型常量、整型变量、实型常量、实型变量、字符串常量、字符串变量。各数据类型间可进行转换。转换的方式有自动转换和强制转换两种。自动转换由编译器自动完成,强制转换由用户确定转换的方向。第5章 运算符和表达式ActionScript 3.0语言中运算符和表达式很多。丰富的运算符和表达式使得ActionScript 3.0语言功能强大。ActionScript 3.0语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不
33、仅要遵守运算符优先级别的规定,还要受运算符结合性的制约:到底是自左向右进行运算还是自右向左进行运算。这种结合性增加了ActionScript 3.0语言的复杂性。5.1 ActionScript 3.0运算符简介ActionScript 3.0语言的运算符可分为以下几类:?算术运算符用于各类数值运算,包括加“+”、减“-”、乘“*”、除“/”、求余“%”、自增“+”、自减“-”,共7种。?关系运算符用于比较运算,包括大于“”、小于“=”、小于等于“=”和不等于“!= ”,共6种。?逻辑运算符用于逻辑运算,包括与“&”、或“|”、非“! ”,共3种。?位操作运算符用于二进制位运算,包括位与“&”
34、、位或“|”、位非“”、位异或“”、左移“”,共6种。5.1 ActionScript 3.0运算符简介?特殊运算符,如括号“()”,下标“”,取XML属性“”等。?赋值运算符用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,=,=,=)3类,共11种。?条件运算符用于条件求值。运算符为“?:”。?逗号运算符用于把若干表达式组合成一个表达式。运算符为“,”。 5.2 算术运算符和算术表达式算术运算符是用来进行算术运算的操作符,是ActionScript 3.0中最基本的运算符。使用算术运算符连接的表达式称为算术表达式。5.2.1 基本的
35、算术运算符基本的算术运算符包括:?加法运算符“+”:加法运算符为双目运算符,表示两个量相加,具有右结合性。?减法运算符“-”:减法运算符为双目运算符,表示两个量相减运算,具有右结合性。?乘法运算符“*”:乘法运算符为双目运算,表示两个量相乘,具有左结合性。?除法运算符“/”:除法运算符为双目运算,表示两个量相除,具有左结合性。?求余运算符“%”:求余运算符为双目运算,表示两个量相除求余数,具有左结合性。5.2.2 算术表达式算术表达式是用算术运算符和括号将运算对象(也称操作数)连接起来的、符合ActionScript 3.0语法规则的式子。5.2.3 运算符的优先级和结合性ActionScri
36、pt 3.0语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。若两个运算符优先级相同,按运算符的结合性所规定的方向处理。ActionScript 3.0语言中各运算符的结合性有两种:左结合性(自左至右)和右结合性(自右至左)。5.2.4 自增、自减运算符自增运算符和自减运算符为单目运算(只对一个变量操作运算),可有以下4种形式。?+i:i自增1后再参与其他运算。?-i:i自减1后再参与其他运算。?i+:i参与运算后,i的值再自增1。?i-:i参与运算后,i的值再自减1。5.3 关系运算符和关系表达式 关系运算符是用来对两个量之间的关
37、系进行运算的操作符。使用关系运算符连接的表达式称为关系表达式。5.3.1 关系运算符在ActionScript 3.0语言中有以下关系运算符:? :小于;? :大于;?= :大于或等于;?= :等于;?!= :不等于。5.3.2 关系表达式关系表达式使用关系运算符连接其他对象。由于表达式可以又是关系表达式,就会出现嵌套的情况。关系表达式的值是真”和“假”,分别用“1”和“0”表示。5.4 逻辑运算符和逻辑表达式 逻辑运算符是用来进行逻辑运算的操作符,包括与、或、非运算。使用逻辑运算符连接的表达式称为逻辑表达式。5.4.1 逻辑运算符ActionScript 3.0语言中提供了三种逻辑运算符:?
38、& 与运算?| 或运算?! 非运算与运算符“&”和或运算符“|”均为双目运算符,具有左结合性。非运算符“!”为单目运算符,具有右结合性。5.4.2 逻辑运算的值逻辑运算的值只有“真”和“假”两种,可用“1”和“0 ”来表示。求值规则如下:与运算 “&”:参与运算的两个量都为真时,结果才为真,否则为假。或运算“|”:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。以下代码说明与运算规则。非运算“!”:参与运算的量为真时,结果为假;参与运算量为假时,结果为真。5.4.3 逻辑表达式使用逻辑运算符连接式子就得到逻辑表达式。其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。5
39、.5 赋值运算符和赋值表达式赋值运算符包括简单的赋值运算符“=”和复合赋值运算符,如“+=”、“-=”等。使用赋值运算符连接的表达式称为赋值表达式。5.5.1 简单赋值运算符和简单赋值表达式简单赋值运算符为“=”。由“= ”连接的式子称为赋值表达式。赋值运算符“=”具有右结合性。5.5.2 复合赋值运算符和复合赋值表达式在赋值符“=”之前加上其他二目运算符可构成复合赋值符,如“+=”、“-=”、“*=”、“=”、“%=”、“=”、“&=”、“=”、“|=”。 5.6 逗号运算符和逗号表达式在ActionScript 3.0语言中逗号“,”也是一种运算符,称为逗号运算符。其功能是把两个表达式连接
40、起来组成一个表达式,称为逗号表达式。逗号表达式可以嵌套,即表达式1或表达式2又是逗号表达式。整个逗号表达式的值等于表达式n的值。并不是在所有出现逗号的地方都组成逗号表达式。5.7 位运算符位运算指对二进制数的位进行运算。ActionScript 3.0语言提供了6种位运算符:?& :按位与;?| :按位或;? :按位异或;? :取反;? :右移。5.7 位运算符1按位与运算2按位或运算3按位异或运算4求反运算5左移运算6右移运算 5.8 小结ActionScript 3.0中定义了许多运算符,这使得ActionScript 3.0语言具有强大的运算能力。运算表达式是由运算符连接起来的式子,其运
41、算方式及结果与运算符的特性紧密相关。本章主要介绍了算术运算符、关系运算符、逻辑运算符、赋值运算符和位运算符。算术运算符中详细介绍了各种基本的算术运算符、逗号表达式及自增、自减运算符。关系运算符用以比较两个量之间的关系。逻辑运算符中包括与、或、非运算符。赋值运算符包括简单的赋值运算符“=”和复合赋值运算符。位运算符中介绍了6种位运算符的特点及使用方法。第6章 程序设计的基本结构从程序流程的角度来看,程序可以分为三种基本结构:顺序结构、分支结构和循环结构。这3种基本结构可以组成所有的各种复杂程序。程序设计的基本组成部分是语句,不同语句组成不同的程序结构。例如,for语句、while语句组成循环结构
42、程序。6.1 顺序结构程序设计顺序结构程序是指程序中的语句由表达式语句、函数调用语句、控制语句、复合语句、空语句或赋值语句构成。顺序结构是程序中最基本的结构之一,最大的特点是程序是以从上至下的顺序执行。6.1.1 表达式语句表达式语句是最基本的语句,由表达式加上分号“;”组成。6.1.2 函数调用语句由函数名、实际参数加上分号“;”组成。执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值(在后面函数中再详细介绍)。6.1.3 复合语句把多个语句用括号括起来组成的一个语句称复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。复合语句内
43、的各条语句都必须以分号“;”结尾,在括号“”外不能加分号。6.1.4 空语句只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。6.1.5 赋值语句赋值语句是由赋值表达式再加上分号“;”构成。赋值语句的功能和特点都与赋值表达式相同。它是程序中使用最多的语句之一。在赋值语句的使用中需要注意以下几点:1表达式嵌套2变量赋初值与赋值语句的区别3赋值表达式与赋值语句的区别6.2 分支结构程序设计分支结构程序是指程序中存在分支的逻辑,需要分别处理各分支的逻辑。分支结构程序常用的语句有:if语句、ifelse语句、ifelseif语句、switch语句。分支结构
44、是程序中最基本的结构之一,最大的特点是程序是分支处理。6.2.1 if语句if语句语义是:如果表达式的值为真,则执行其后的语句。否则不执行该语句。以下代码使用if语句实现取最大值。6.2.2 if-else语句if-else语句语义是:如果表达式的值为真,则执行语句1,否则执行语句2。6.2.3 if-else-if语句在使用if语句中还应注意以下问题。1表达式形式的多样性2if语句格式3if语句中使用复合语句6.2.4 if语句的嵌套当if语句中的执行语句又是if语句时,就构成了if 语句嵌套的情形。在嵌套内的if语句可能又是if-else语句,这将会出现多个if关键字和多个else关键字的
45、情况,这时要特别注意if和else的配对问题。6.2.5 switch语句ActionScript 3.0语言还提供了另一种用于多分支选择的语句:switch语句。switch语句的意思是:计算表达式的值,并逐个与其后的常量表达式值相比较。当表达式的值与某个常量表达式的值相等时,即执行其后的语句。然后不再进行判断,继续执行后面所有case后的语句。若表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。6.3 循环结构程序设计循环结构是程序中一种很重要的结构。其特点是:在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体?用goto语句和if语句构成循环。?while语句。?do-while语句。?for语句。6.3.1 goto语句goto语句是一种无条件转移语句。goto语句一般不用,因为它将使程序层次不清,且程序不易读。但在多层嵌套退出时,用goto语句则比较合理。6.3.2 while语句while语句中的表达式是循环条件,语句为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。6.3.3 do-whil
限制150内