代码改变世界

AS3(1) --- 编程基础

2007-02-15 15:12  @影子@  阅读(104)  评论(0编辑  收藏  举报

  变量和常量
  由于编程主要涉及更改计算机内存中的信息,因此在程序中需要一种方法来表示单条信息。变量是一个名称,表示计算机内存中的值。在编写语句来操作值时,编写变量名来代替值;只要计算机看到程序中的变量名,就会查看自己的内存并使用在内存中找到的值。例如,如果两个名为 value1 和 value2 的变量分别包含一个数字,则可以编写如下语句将这两个数字相加:
  
  value1 + value2
  在实际执行这些步骤时,计算机会查看每个变量中的值,并将这些值相加。
  
  在 ActionScript 3.0 中,一个变量实际上包含三个不同部分:
  
  1.变量的名称
  2.可以存储在变量中的数据的类型
  3.存储在计算机内存中的实际值
  
  刚才我们讨论了计算机如何将名称用作值的占位符。数据类型也非常重要。在 ActionScript 中创建变量时,应指定该变量要保存的数据的特定类型;此后,程序的指令只能在该变量中存储该类型的数据,您可以使用与该变量的数据类型关联的特定特性来操作值。在 ActionScript 中,若要创建一个变量(称为声明变量),应使用 var 语句:
  var value1:Number;
  在本例中,我们指示计算机创建一个名为 value1 的变量,该变量仅保存 Number 数据(“Number”是在 ActionScript 中定义的一种特定数据类型)。您还可以立即在变量中存储一个值:
  var value2:Number = 17;
  在 Adobe Flash CS4 Professional 中,还有另外一种变量声明方法。在将一个影片剪辑元件、按钮元件或文本字段放置在舞台上时,可以在“属性”检查器中为它指定一个实例名称。在后台,Flash 将创建一个与该实例名称同名的变量,您可以在 ActionScript 代码中使用该变量来引用该舞台项目。例如,如果您将一个影片剪辑元件放在舞台上并为它指定了实例名称 rocketShip,那么,只要您在 ActionScript 代码中使用变量 rocketShip,实际上就是在处理该影片剪辑。 //同名变量对应于舞台上的原件
  
  常量也是一个名称,表示计算机内存中具有指定数据类型的值,就这一点而言,常量与变量极为相似。不同之处在于,在 ActionScript 应用程序运行期间只能为常量赋值一次。一旦为某个常量赋值之后,该常量的值在整个应用程序运行期间都保持不变。常量声明语法与变量声明语法相同,只不过是使用 const 关键字而不使用 var 关键字:
  
  const SALES_TAX_RATE:Number = 0.07;
  常量可用于定义在项目内多个位置使用的值,并且此值在正常情况下不会更改。使用常量而不使用字面值能让代码更加便于理解。例如,价格乘以 SALES_TAX_RATE 的代码行相对于价格乘以 0.07 的代码行更加易于理解。此外,如果确实需要更改通过常量定义的值,如果在整个项目中使用常量表示该值,则只需在一个位置(常量声明)更改该值,不需像使用硬编码字面值那样在不同位置更改该值。
  
  数据类型
  在 ActionScript 中,您可以将很多数据类型用作所创建的变量的数据类型。其中的某些数据类型可以看作是“简单”或“基本”数据类型:
  
  String:一个文本值,例如,一个名称或书中某一章的文字
  
  Numeric:对于 numeric 型数据,ActionScript 3.0 包含三种特定的数据类型:
  
    Number:任何数值,包括有小数部分或没有小数部分的值
  
    Int:一个整数(不带小数部分的整数)
  
    Uint:一个“无符号”整数,即不能为负数的整数
  
    Boolean:一个 true 或 false 值,例如开关是否开启或两个值是否相等
  
  简单数据类型表示单条信息:例如,单个数字或单个文本序列。然而,ActionScript 中定义的大部分数据类型都可以被描述为复杂数据类型,因为它们表示组合在一起的一组值。例如,数据类型为 Date 的变量表示一个值 — 某个时间时刻。然而,该日期值实际上表示为几个值:年、月、日、时、分、秒等等,它们都是单独的数字。所以,虽然我们认为日期是单个值(可以通过创建一个 Date 变量将日期作为单个值来对待),而在计算机内部却认为日期是组合在一起、共同定义单个日期的一组值。
  
  大部分内置数据类型以及程序员定义的数据类型都是复杂数据类型。您可能认识下面的一些复杂数据类型:
  
  MovieClip:影片剪辑元件
  
  TextField:动态文本字段或输入文本字段
  
  SimpleButton:按钮元件
  
  Date:有关时间中的某个片刻的信息(日期和时间)
  
  经常用作数据类型的同义词的两个词是类和对象类仅仅是数据类型的定义 — 好比用于该数据类型的所有对象的模板,例如“所有 Example 数据类型的变量都拥有这些特性:A、B 和 C”。相反,对象仅仅是类的一个实际的实例;可将一个数据类型为 MovieClip 的变量描述为一个 MovieClip 对象。下面几条陈述虽然表达的方式不同,但意思是相同的:
  
  变量 myVariable 的数据类型是 Number。
  
  变量 myVariable 是一个 Number 实例。
  
  变量 myVariable 是一个 Number 对象。
  
  变量 myVariable 是 Number 类的一个实例。