as3中Array实例化有两种方法
var arr:Array = new Array();
var arr:Array = []
这两种方式都是生成数组arr,但两者有些区别,很重要的一点就是效率问题。
第1种比第2种要慢,当然如果只是几个十几个的话没太大差异,但是大了之后就会差的很多。这一点可以自己写个test试一下,我就不再这里写了。
为什么会有这么大差异呢?我是个编程新手,下面是我的想法,没有得到任何人的确认。
内存中存储数据分为堆区和栈区,这里我只简单讲讲,详细的可以看后面我转载的文章。
new Array()生成的数组在内存存储时分配在堆区,这块区域是不连续的,各节点通过链表相连,通过遍历链表去查找空余的内存。这是程序员可以支配的,用起来方便,但速度慢。
[ ]生成的数组是分配在栈区,栈区是连续的一块内存区域,系统自动分配,速度较快。但程序员是无法控制的。
http://www.cnblogs.com/zhangchenliang/archive/2012/04/26/2471435.html这篇文章讲的很详细