- 浏览: 84994 次
- 性别:
- 来自: 北京
最新评论
-
A5121612886:
好文要顶!
Flash Builder 编译器选项 -
谁在哀伤望月:
非常好,谢谢分享
Flash builder4 插件终极破解方法
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]"作为键,因此而指向了同一个数据。例如:
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 dictictionary = 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
}
注意:
1、虽然在trace的时候,输出的还是[object Object],但是这个结果是对象的toString的结果。在Dictionary对象中,代表的是不同的对象引用。
2、这里的prop的类型是*。这是很重要的,因为dict对象中的键可能是任何数据类型的。
以下是本人对Dictionary与Object的不同之处的一个小结:
1、Object的键必须是字符串,或表示字符串的表达式(变量或函数),若不是字符串的表达式,则将调用toString()方法,将其转化为字符串;
2、与Object不同的是,Dictionary使用的键是对象的引用,而不是字符串,且非原始对象键调用之前是通过全等运算符(===)来进行判断,并不会将数据类型强制转换之后再进行判断。
但是,对于Dictionary的具体作用还不甚清楚,需要以后进一步研究……
发表评论
-
全面提升你的程序效率 之细说 bitmapdata AS3 Bitmap 抠图(透明部分)和碰撞(点击)检测
2012-06-05 09:54 7176如果你是刚接触as编程 ... -
AS3动态获得类名及类的方法
2012-05-08 13:50 28141.获得某个实例对象的类名:getQualifiedClass ... -
Flash Builder 编译器选项
2012-05-02 10:30 6387-benchmark 输出性 ... -
【AS3】为什么AS3.0事件流机制会有捕获阶段、目标阶段、冒泡阶段三个阶段
2012-04-26 10:03 3823原问题:事件机制有三个步骤,捕获,目标和冒泡。请问,在目标阶段 ... -
[AS3]事件流那点事儿
2012-04-26 09:36 1235在群里有人问了个问 ... -
Socket+AMF3粘包问题
2012-04-17 10:05 1804问题: 服务端Mina 前台接收Flex 参照的 ... -
AS3事件中target和currentTarget的区别
2012-04-12 15:40 1926在事件处理过程中,会 ... -
ActionScript垃圾回收
2012-04-12 15:04 1401在《给AS程序员的一点建议一文 》中我提到了释放资源的重 ... -
updateAfterEvent的作用
2012-04-10 17:26 1230flash中一共有三个类具 ... -
深入理解flash重绘
2012-04-10 17:21 1172Flash Player 会以SWF内 ... -
[AS3]registerClassAlias的用法
2012-03-20 10:35 1082registerClassAlias在利用AMF3进行序列话网 ... -
navigateToURL
2012-03-09 15:51 1161navigateToURL整理总结一些关于navigate ... -
flash中cacheAsBitmap的使用
2012-03-09 11:59 814缓存显示对象 如果 Flash 中的设计尺寸增大,无论创建 ... -
Debug和Release之本质区别
2012-02-27 11:41 1171关于Debug和Release之本质区别 使用条件编译来完成区 ... -
AS3中super的用法[转自A闪]
2012-02-13 10:19 1224super它到底是什么?这是我第一个问题,在帮助中石这样说明的 ... -
AS3中public internal private protected的区别
2012-02-10 10:43 2532protected Java與AS3中的 ... -
面试题目
2011-08-17 16:31 8741.as2与as3.的最主要区别 ... -
AS3事件类型
2011-05-18 09:54 1490Event事件类型: ACTIVATE 激活事件 ... -
关于强制类型转换
2011-05-09 09:59 753每一种编程语言都提供强制类型转换,允许你将某一种数据类型转换成 ... -
DisplayObjectContainer to MovieClip
2011-05-09 09:38 785package gameTool { import fl ...
相关推荐
自定义Dictionary类如何在类内实现线程同步自定义Dictionary类如何在类内实现线程同步自定义Dictionary类如何在类内实现线程同步自定义Dictionary类如何在类内实现线程同步自定义Dictionary类如何在类内实现线程同步...
Dictionary 单词助手,可提供单词中英文的翻译,以及长句子的翻译。另外,可对感兴趣的单词加入本地生词本,以及新建复习计划。做完这个感觉RxJavax真的不是一般的强,Retrofit和greenDAO都提供了对其的支持,让你...
[1] and the 2015 fourth edition, re-titled Fowler's Dictionary of Modern English Usage, edited by Jeremy Butterfield, takes the same approach as the third edition (and only revised some entries)....
The Oxford Dictionary of English (ODE) is a single-volume English dictionary published by Oxford University Press, first published in 1998 as The New Oxford Dictionary of English (NODE). The word "new...
探讨hashtable与dictionary两者的性能及结构区别,并用代码来实现测试。是深入学习数据结构的好的例子。一切源于基础,希望对你有所帮助。
NCo3.0调用RFC,通用接口, 支持泛型和动态类型。 Sap通用接口 一、 接口说明 1. 入参Dictionary, string>,出参泛型 1.1 接口ExecuteString public T ExecuteString(string FunName, Dictionary, string>...
- Unity的inspector不会在inspector中公开Dictionary类, Tvalue> - Unity不序列化字典信息,因此按下播放或重新加载场景时,收集的所有字典数据都会丢失。 解决方案: - 为MonoBehaviour创建自定义编辑器,利用字典 ...
Dictionary对象使用方法 1.Dictionary对象的成员概要 2. 对Dictionary中增加和删除条目 3. 修改键或条目的值
CreateDic 演示Dictionary字典的使用实例 第5章(\ch05) 示例描述:学习Windows Form程序和窗体控件的使用。 SimpleForm 第一个窗体应用程序实例 UseButton 演示Button按钮控件的使用实例 UseCheckBox 演示...
主要介绍了C#实现自定义Dictionary类,较为详细的分析了Dictionary类的功能、定义及用法,具有一定参考借鉴价值,需要的朋友可以参考下
apk文件 UserDictionaryProvider(电视直播视频)apk文件 UserDictionaryProvider(电视直播视频)apk文件 UserDictionaryProvider(电视直播视频)apk文件 UserDictionaryProvider(电视直播视频)apk文件 User...
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Dictionary比Collection慢好多; 采用了高精度计时器进行比较,可以精确到微秒; 添加速度快1-2倍 读取快3倍 删除有时快5倍 具体数据量不一样,CPU和电脑不同,结果也不同。 Dictionary,加20万条,用时2371.5783毫秒...
header), line numbering, symbol substitution as well as pretty printing for a wide range of programming languages. Historically, a2ps started as a text to PostScript converter, but thanks to powerful ...
All areas of statistics are covered, theoretical, applied, medical, etc., although, as in any dictionary, the choice of which terms to include and which to exclude is likely to reflect some aspects ...
C#自定义可序列化的Dictionary类型
集合Dictionary中按键排序较容易实现,本例实现了C#集合Dictionary中按值的降序排列。
ASSOC CPP - Association class (used by dictionary class) BABSTARY CPP - Source file for classlibs BDICT CPP - Source file for Classlibs BSORTARY CPP - Source file for classlibs BTREE CPP - Tree ...
是一个英文-缅文双解词典,Eng-Myanmar-Eng Dictionary