基本数据类型:int Boolean Number String uint
复杂数据类型:Array Object Null NAN undefined
1.值类型与引用类型
Flash as3里面一切都是对象,对象持有引用。也就是说as3中的数据类型全都是引用类型。使用引用可以节约内存,提高效率。当我定义100个int = 3的数据时,实际上只是创建了一块内存存放3而已,需要改变的时候才会新加内存。
var a: int = 1;
var b: int;
b = a;
a = 2;
trace(b);//b = 1;这是值类型,实际上as3中的简单类型都是引用类型,叫不变引用
//当a,b还是指向同一块内存,只不过当执行a=2这一句时,虚拟机发现要改变不变对象的引用时,
//会再开辟一块内存a=3而已,
var a1: Array = new Array(1, 2, 3);
var b1: Array = a1;
a1[1] = 10;
trace(b1[1]);//b1[1] = 10;这是引用类型,a、b指向同一块内存
2.Number:64位浮点数 注意小数相加不一定得整数 和小数位很多的数相加可能会丢弃
var a: Number = 100000000;
var b: Number = 0.000000001;
trace(a+b);
<pre name="code" class="plain"> a = 0.1;
for (var i=0; i<10; i++)
a += 0.1;
trace(a);
3.int:32位有符号整数 uint32无符号整数
4.boolean默认初始值是false
5.String注意以下函数 charAt()
+ >等符号的重载
indexOf()字符串包含索引
search()与正则表达式结合
var s:String = "asd";
trace(s.charAt(2));
var s2:String = "sd";
trace(s + s2);
trace(s.indexOf(s2));
6.Array
Array不支持类型化的数组,里面装的是引用,默认值是Null
定义及初始化:
var c: Array = [1, 2, 3, 4];//初始化为1,2,3,4
var a : Array = new Array(1, 2, 3, 4);//初始化为1,2,3,4
var b: Array = new Array(5);//长度为5的数组
length是长度,length可以改变
indexOf()查找元素
push unshift 在数组尾部或头部新增一个元素
pop shift 在数组尾部或者头部删除一个元素,返回被删除的元素
splice 中间插入或者删除
获取数组中的部分元素slice
连接数组concat
数组的深浅复制
数组的三种排序方式 sort()
操纵数组的每个元素 forEach
7.Object及关联数组
var foo: Object = new Object();
var foo1: Object = {name :"ql", ok:function():String{return "hh"}};
trace(foo1.name);
foo1.sex = "M";//动态添加属性
foo1.hello = function(){
trace("Hello World!");
} //动态添加函数
foo1.hello();
trace(foo1.ok());
8.多维数组
//创建一个二维数组
var arr:Array = new Array(new Array(1,2,3), new Array(1, 2, 3));
var arr1:Array = new Array(10);
//创建一个10*10的二维数组
for (var i=0; i<10; i++)
{
arr1[i] = new Array(10);
}
for(i=0; i<10; i++)
for (var j=0; j<10; j++)
arr1[i][j] = 0;
trace(arr1);
as3支持创建不规则的多维数组