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;
嗯,相信这样是肯定报错的!
浙公网安备 33010602011771号