一、简单介绍as3.0

AS3.0与AS2.0\AS1.0本质上有所不同;as3.0代码运行的速度是as2.0的将近10倍;as3.0最好的虚拟机是AVM2.

AS3.0比着AS2.0\AS1.0有一些新特性:

@:引入显示列表的概念。显示列表用于创建、管理显示对象的层次结构,任何Flash应用程序实际上就是显示列表。在显示列表中,采用新的深度机制

  来管理显示列表对象的显示层次,使显示列表的深度管理更加人性化。

@:使用新的事件模型。ActionScript 3.0中的事件模型与第二版用户界面组件有点类似;是采用观察者模式设计的。新增了事件流、默认行为等功          能,很多在ActionScript 2.0中难以实现的功能,使用ActionScript 3.0将会非常简单。

@:引入了E4X,使得操作XML更加方便、快捷,在以往版本的ActionScript中,使用XML对象前,需要将其转换为数组或对象,而ActionScript 3.0         可直接操作XML对象

@:支持正则表达式。正则表达式在查找和替换模式方面有很大的优势,以往需要几十行代码实现的功能,使用正则表达式只用几行。

二、常用的数据类型及命名规则

1、数据本质

@、数据本质是通过变量调用数据的

@、Object是根类,所有的类都继承于他

@、数据类型包括简单(基元)数据类型和复杂数据类型

 <1>.简单(基元)数据类型有Boolean(布尔值,有两个取值;true和false)  int(处理整数(包括负数))  uint(处理十六进制          的颜 色值及正整形数字)  Number(处理带有小数点的数字)  String(处理字符串)

 <2>.复杂数据类型有:Array数组是由数字或字符串组成;日期、函数、Xml等复杂的数据类型除了以上简单的数据类型外,其他的基本上都是复杂的数据类型(如:能创建一个新实例的类)

2、变量的声明与使用 ------ 变量先声明后使用

@、声明变量表达式:var 变量名:数据类型 = 值;

          var 变量名:数据类型;   //这两种表达式的效果是一样的

<1>.var i:int;

<2>.var i:int = 1;

<3>.var i;

<4>var i:*;

<1>与<2>表达的含义一样,效果亦如此;

<3>与<4>效果一样,允许声明变量不赋值

@:变量的命名规则

<1>.尽量用有含义的英文单词作为变量名称

<2>.采用骆驼式命名法

<3>.变量名越短越好

<4>.避免变量名中出现数字编号

@、变量的本质是数据都是对象

值类型:Boolean    int   uint   Number   String

值类型不需new来创建实例;其他类型都属于引用类型

值类型实例例如:

     var i:uint = 3;

   var j:int = i;

         trace(i+j);  

 引用类型实例如:

var a:Array = new Array(1,2,3);

var b:Array = a;

b[0] = 4;

trace(a);    //a = 4,2,3

trace(b);   //b = 4,2,3

3、常量的声明与使用

*、Const关键字用于声明常量,常量一经赋值就不能更改其值

*、命名表达式: Const  常量名:常量类型 = 值;与变量表达式几乎相同

  eg:  Const a:int = 100; 值类型

*、引用类型只能保持引用不变,而不能保证他所引用的对象状态不发生改变

  eg:  Const a:Array = [1,2,3];

    var b:Array = a;

    b[1] = 100;

    trace(a);  // a = 1,100,3

4、基本数据类型

@、简单数据类型、复杂数据类型、数字类型、字符串基本操作、数组等;

@、简单数据类型:*、var a:Boolean ;trace(a);  //a = false,因为Boolean的默认值为false

@、数字类型:var a:Number = 0;

      for(var i:int = 0; i<10;i++)

      {

        a+=0.1;

      }

      trace(a);

@、字符串基本操作

*、var a:String;

*、var a:String = "";

*、var a:String = new String();

这三种表达式含义相同

例如:var a:String = "abc";

  trace(a.length);   // 3

  trace (a);  //abc

@、Array数组的使用以非负数为索引

*、var a:Array = [];

*.var a:Array = new Array();

声明数组

*.赋值后var a:Array = [1,2,3];或var a:Array = new Array(1,2,3);trace(a[0]);//1

@、Object是所有数据结构的基石;

*、声明Object对象:。。var a:Object = new Object();...var b:Object = {};

eg :  var b:Object = {name:"zhangsan"};  trace(b.name);//zhangsan

或:var b:Object = {hello:function(){trace("a")}};  b.hello();  //a