as3数组的一个新用法

private const arr:Array=[1,2,3];

也许很多人会奇怪为什么这样用,但请你继续往下看

arr[0]=100;

很多人会以为这样会报错,但程序却顺利运行,且trace(arr[0])会输出100,为什么会这样?

我理解的是arr是常量数组,直接更改数组的索引值是不会改变数组本身,该数组还是原来的数组,因为你不是通过像new之类的赋值的,比如:

var arr2:Array=new Array();
arr=arr2;
这样肯定会报错;

好奇点的你会发现,这个常量数组的方法属性全部可用,比如push等方法,都可以正常运行。

如果还有人不明白是为什么,我再做过小例子.

private const spr:Sprite=new Sprite();
这里spr的属性以及方法可以正常使用, 但
var spr2:Sprite=new Sprite()
spr=spr2;
嗯,相信这样是肯定报错的!

posted on 2013-11-16 14:34  L . W  阅读(170)  评论(0)    收藏  举报