Array的秘密
来源:互联网 发布:知和行书局 编辑:程序博客网 时间:2024/05/23 02:01
昨天在调试YouYeeTree类的时候总是发现子项显示的数目不对,当时就很郁闷,为什么我的数据声明正确但是显示出来的数目总是不对呢?
一下是数据声明代码:
var my_array:Array=new Array();
my_array[0]=new Object();
my_array[1]=new Object();
trace(Array(my_array).length)
//output 1
明明是两个子数据,为何返回my_array的长度是1?应该是2才对啊?!
心里郁闷了一阵再来试验:
var my_array:Array=new Array();
my_array[0]=new Object();
my_array[1]=new Object();
trace(my_array.length);
//output 2
这下又正常了,难道是Array转换反而使得其变质了?
怪小生不才一直没有想明白其中的缘由,继续查阅文档:
var obj:Object = [ "a", "b", "c" ];
var newArray:Array = Array( obj );
trace(newArray == obj); // false
trace(newArray[0] == obj); // true
trace(newArray[0][0]) // a
trace(newArray[0][1]) // b
trace(newArray[0][2]) // c
这个是帮助文档里面的例子,算是找到缘由了,再进行刚才的试验:
var my_array:Array=new Array();
my_array[0]=new Object();
my_array[1]=new Object();
trace(Array(my_array)[0].length);
//output 2
现在终于明白这是为什么了,当使用Array()的时候,其会自动创建一个新的数组,然后把Array()内的参数变成其第一个子项。
看来以后使用Array的时候就一定要留心了,这和其他类的强制转换函数很不一样。
- Array的秘密
- 揭开《秘密》的秘密
- 秘密的秘密
- 《秘密》卷一:秘密-秘密的发现
- 《秘密》卷一:秘密-健康的秘密
- 《秘密》卷一:秘密-爱的秘密
- 《秘密》卷一:秘密-智慧的秘密
- 《秘密》卷一:秘密-影响力的秘密
- 《秘密》卷一:秘密-财富的秘密
- QE背后的秘密-----可怕的秘密
- 职业的秘密(13)秘密初探
- 雨的秘密
- 架構師的秘密
- GRUB的小秘密
- GOOGLE的小秘密
- 网络蜘蛛的秘密
- Google的秘密通道
- Google的秘密通道
- Java与模式 不变模式 Immutable pattern
- 测试难题 (转帖/收藏)
- 什么是DIV+CSS
- 近期项目联系方式
- OA系统需求,外包
- Array的秘密
- 开发人员需要熟知的常用Linux命令之二:Crontab
- qqq
- Boost_1_39_0库vs2008编译指南
- 微软应用程序架构设计指南2.0 第一部分 基本原则 第三章 架构设计指南
- linux 自动运行的服务设定
- java中的3DES加密算法
- google 开心数独的规律[已过期]
- 浅谈C#托管程序中资源释放的问题