前往顾页

flash ActionScript中Array和Object的异同

时候:2012-06-07 22:26来源:知行网www.zhixing123.cn 编辑:麦田守望者

正在扩展shikar的ASPService,想把Flash的Array和Object都直接传给ASP,在ASP端,Flash的Array被转换成ASP的Array,而Object被转换成ASP的Dictionary。
在检测Flash的数据范例时发明,Object和Array的数据范例都是“object”。代码以下:


arr = [3,4,5];
obj ={a:3,b:4,c:5};
trace(arr);
trace(obj);
//前往 object
//前往 object

固然这个问题早就晓得,但一向没有穷究。现在要辨别Array和Object,就要进一步研究了。
再测试:

for (var i in arr){
trace(typeof(i));
trace(i)
}

前往的值竟然是:
string
2
string
1
string
0
这申明数组的索引在ActionScript看来实际上不是数字,而是字符串!也就是说,下面这两句代码是等价的:

var t = arr[0];
var t = arr["0"];

为了证明我这个观点,继续测试


for (var i in obj){
trace(typeof(i));
trace(i)
}

前往:
string
a
string
b
string
c
它于Array所不合的仿佛就是for in循环前往的依次,Array是从最年夜索引值开端递减,而Object则是递增。
如许看来,在ActionScript中,Array和Object都是作为Object范例对待的,他们的布局应当不异,都利用字符串作为索引(Array可利用数字索引读取,但外部布局中,索引还是以字符串情势存储的)。
回到文章开首,要实现我需求的服从,发明Flash端不管是Array或Object意义已不年夜。我还是采取简朴的体例:将Array和Object都转换成ASP端的二维数组,第一个是Object标识符,第二个是值。

------分开线----------------------------
标签(Tag):FLASH FLASH实例教程 flash技能 flash源代码 flash根本教程
------分开线----------------------------
保举内容
猜你感兴趣