我刚刚在数组的长度上发现了这个奇怪的结果。 当表中有一个数字作为输入时,AS3将数组的值作为长度返回,而不是实际长度
例如。
var test_array:Array = new Array(1908);
trace(test_array.length)
//output 1908
但是有多个条目
var test_array:Array = new Array(1908,1909);
trace(test_array.length)
//output 2
有没有人有同样的错误? 如果需要,我们可以在哪里修复它?
答案 0 :(得分:3)
它不是一个错误
new Array(1908);
是一个创建包含1908个字段
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Array.html
Array(... values)允许您创建包含指定的数组 元素。 Array(numElements:int = 0)允许您创建指定数量元素的数组。
使用as3数组,您最好使用不同的构造函数
而不是var test_array:Array = new Array(1908);
使用var test_array:Array = [1908];
而不是var test_array:Array = new Array(1908,1909);
使用var test_array:Array = [1908,1909];
使用此语法[]
代替new Array()
的开销更少,而且更快