建议多用Dictionary , 最好是取代object (object 不会被编辑器检测) ,
下面是网上的关于Dictionary
AS3中的Dictionary类(flash.utils.Dictionary)是一个新的AS类。Dictionary类和Object唯一的区别在于:Dictionary对象可以使用非字符串作为键值对的键。例如:
var obj:Object = new Object();
obj["name"] = 1; // 键是字符串"name"
obj[1] = 2; // 键是1 (被转换成字符串"1")
obj[new Object()] = 3; // 键是new Object(),被转传成字符串"[object Object]"
for (var prop:String in obj) {
trace(prop); // 输出:[object Object], 1, name
trace(obj[prop]); // 输出:3, 2, 1
}
也就是说,无论用什么类型的变量作为键,都将被转换成字符串。同时,如果你使用了不同的对象作为键,都会北转换成字符串"[object Object]"作为键,因此而指向了同一个数据。例如:
ActionScript Code:
var a:Object = new Object();
var b:Object = new Object();
var obj:Object = new Object();
obj[a] = 1; // obj["[object Object]"] = 1;
obj[b] = 2; // obj["[object Object]"] = 2;
for (var prop:String in obj) {
trace(prop); // traces: [object Object]
trace(obj[prop]); // traces: 2
}
Dictionary类将没有这个限制,你可以将键设置成任何一种数据类型。例如:
import flash.utils.Dictionary;
var a:Object = new Object();
var b:Object = new Object();
var dict:Dictionary = new Dictionary();
dict[a] = 1; // dict[a] = 1;
dict[b] = 2; // dict[b] = 2;
for (var prop:* in dict) {
trace(prop); // traces: [object Object], [object Object]
trace(dict[prop]); // traces: 1, 2
}
虽然在trace的时候,输出的还是[object Object],但是这个结果是对象的toString的结果。在Dictionary对象中,代表的是不同的对象引用。
在Directionary类的构造函数中传入true
var dict:Dictionary = new Dictionary(true); // use weak references as keys
var obj:Object = new Object();
dict[obj] = true;
delete obj;
虽然dict中有引用到obj,但并不是一个有效引用,所以obj仍然会被垃圾回收
分享到:
相关推荐
flex中一个很不错的拖拉伸缩组件,适合新人学习的组件....
flex-object-handles flex中对象的移动 编译 放大 缩小的功能 早期的版本
关于flex的教程,目前flex教材比较少,教材更是更少了
关于Flex的入门基础资料,详细介绍了Flex的开发,是一部难得的Flex教程
JAVA与flex通信的例子,使用remote object 方式与java互相通讯。。。。。。。
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
本节主要介绍了Flex遍历Object键和值具体实现,需要的朋友可以参考下
FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效
关于flex事件的讲解 一. 引 很多新人对Flex的事件机制都不太熟悉,在使用过程中难免会出现各种问题,这是一个非常普遍的问题,为了更快更好的帮助大家,将介绍一下Flex中事件的各种机制和用法。 Flex的精髓之一...
Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...
Flex简介Flex简介Flex简介Flex简介Flex简介
flex事件flex事件flex事件flex事件flex事件
主要涉及对于flex中进行一些查询,关于地图与属性之间
flex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex学习的好资源啊
关于flex 的样式css。。。可以自定义控件样式。。css源码。
利用Flex和PHP创建网站视频发布系统.doc利用Flex和PHP创建网站视频发布系统.doc利用Flex和PHP创建网站视频发布系统.doc利用Flex和PHP创建网站视频发布系统.doc利用Flex和PHP创建网站视频发布系统.doc利用Flex和PHP...
博文链接:https://tj007-bo.iteye.com/blog/127816
Flex 组件Flex 组件Flex 组件Flex 组件Flex 组件
flexbuilder2_201updater.exe)和Flex 2.0.1 Hotfix 2(官方地址:http://www.adobe.com/support/flex/ts/documents/flex2_hf2/FB2_Hotfix2_Installer_Win.exe),然后再更新flashplayer9。(参考:...
Windows和Linux下bison和flex的安装包,希望对大家有用