加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash as3数据类型介绍

发布时间:2020-12-15 20:05:40 所属栏目:百科 来源:网络整理
导读:基本数据类型:int?Boolean Number String uint 复杂数据类型:Array Object Null NAN undefined 1.值类型与引用类型 ? Flash as3里面一切都是对象,对象持有引用。也就是说as3中的数据类型全都是引用类型。使用引用可以节约内存,提高效率。当我定义100个int

基本数据类型: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,3,4];//初始化为1,4
    var a : Array = new Array(1,4);//初始化为1,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,3),new Array(1,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支持创建不规则的多维数组

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读