- 浏览: 88137 次
- 性别:
- 来自: 北京
-
最新评论
-
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 7289如果你是刚接触as编程 ... -
AS3动态获得类名及类的方法
2012-05-08 13:50 28581.获得某个实例对象的类名:getQualifiedClass ... -
Flash Builder 编译器选项
2012-05-02 10:30 6481-benchmark 输出性 ... -
【AS3】为什么AS3.0事件流机制会有捕获阶段、目标阶段、冒泡阶段三个阶段
2012-04-26 10:03 3891原问题:事件机制有三个步骤,捕获,目标和冒泡。请问,在目标阶段 ... -
[AS3]事件流那点事儿
2012-04-26 09:36 1285在群里有人问了个问 ... -
Socket+AMF3粘包问题
2012-04-17 10:05 1920问题: 服务端Mina 前台接收Flex 参照的 ... -
AS3事件中target和currentTarget的区别
2012-04-12 15:40 1988在事件处理过程中,会 ... -
ActionScript垃圾回收
2012-04-12 15:04 1455在《给AS程序员的一点建议一文 》中我提到了释放资源的重 ... -
updateAfterEvent的作用
2012-04-10 17:26 1290flash中一共有三个类具 ... -
深入理解flash重绘
2012-04-10 17:21 1227Flash Player 会以SWF内 ... -
[AS3]registerClassAlias的用法
2012-03-20 10:35 1132registerClassAlias在利用AMF3进行序列话网 ... -
navigateToURL
2012-03-09 15:51 1215navigateToURL整理总结一些关于navigate ... -
flash中cacheAsBitmap的使用
2012-03-09 11:59 872缓存显示对象 如果 Flash 中的设计尺寸增大,无论创建 ... -
Debug和Release之本质区别
2012-02-27 11:41 1231关于Debug和Release之本质区别 使用条件编译来完成区 ... -
AS3中super的用法[转自A闪]
2012-02-13 10:19 1292super它到底是什么?这是我第一个问题,在帮助中石这样说明的 ... -
AS3中public internal private protected的区别
2012-02-10 10:43 2583protected Java與AS3中的 ... -
面试题目
2011-08-17 16:31 9081.as2与as3.的最主要区别 ... -
AS3事件类型
2011-05-18 09:54 1544Event事件类型: ACTIVATE 激活事件 ... -
关于强制类型转换
2011-05-09 09:59 798每一种编程语言都提供强制类型转换,允许你将某一种数据类型转换成 ... -
DisplayObjectContainer to MovieClip
2011-05-09 09:38 829package gameTool { import fl ...
相关推荐
基础数据类型如Number、Boolean、String等都是类,还有Array、Dictionary等复杂的数据结构。AS3的事件模型也更为成熟,通过Event类和EventListener接口处理程序中的事件响应。 在打地鼠游戏中,关键的编程概念包括...
此外,AS3还引入了`Dictionary`类,用于实现键值对存储。 示例:创建一个数组并遍历其中的元素: ```actionscript var arr:Array = ["apple", "banana", "orange"]; for (var i:uint = 0; i ; i++) { trace(arr[i...
1. 类与对象:ActionScript 3.0引入了严格的类定义和对象实例化机制,这使得代码更加结构化和可预测。类是对象的蓝图,而对象则是类的实例。通过类,开发者可以定义数据结构(属性)和行为(方法)。 2. 封装:面向...
7. **数据类型和结构**:AS3支持基本数据类型(如Number, String, Boolean)以及复杂类型(如Array, Object, Dictionary)。还有强类型的数组类,如Array和Vector,其中Vector提供类型安全的数组操作。 8. **错误...
- **数组和集合**:提供了更高效的数组操作和集合类,如Array、Vector和Dictionary等。 - **迭代器和枚举器**:支持更灵活的循环结构,如for-in循环。 ##### Flash Player API功能 - **改进的图形API**:包括Shape...
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 ...
ActionScript 3.0(AS3)是目前最广泛使用的版本,它在性能和编程模型上都有显著提升。 **ActionScript语法** 1. **变量声明**:在AS中,我们使用`var`关键字来声明变量,例如`var myVariable:Type;`。类型声明是...
### CanFestival 3.0 – CANOpen Stack Manual #### 1. Introduction CanFestival 3.0 is an Open Source (LGPL) CANOpen framework designed to provide a platform-independent CANOpen stack. This stack can ...
* 3.0 New version - allows you to download files in HTML format as * well as text format. * 3.1 Added the ability to download nested include programs. * 3.2 Added the ability to download custom ...
- **使用AS3.0**:相比之前的版本,AS3.0提供了更好的性能和更多的功能。 - **类型定义**:为变量和函数参数定义类型可以提高编译器优化代码的能力。 - **向量化**:优先使用`Vector.<type>`而非`Array`或`...
书籍的印刷历史记录了两个重要的时间点,分别是2016年7月5日的完整Python 3.0版本和2015年12月20日的初版Python 3.0。 最后,书籍还包含关于作者认为的商业和非商业用途的定义以及许可豁免的详细信息,这些内容都可...
在VB.NET中,集合类更加丰富和强大,包括List、Dictionary等。这些集合类提供了高效的元素存储和访问方式。 例如,创建一个字符串列表: ```vb.net Dim myList As New List(Of String) myList.Add("Item 1") ...
Dim overtimeRates As New Dictionary(Of String, Double) From { {"平日", 1.5}, {"周末", 2.0}, {"节假日", 3.0} } If overtimeRates.ContainsKey(overtimeType) Then overtimeRate = overtimeRates...
4. **数组和字典数据结构**:为了存储评语和对应的分数范围,开发者可能会使用数组或者字典(Object或Dictionary类)。数组可以用来存储预设的评语,而字典则可以关联分数与评语,方便查找。 5. **事件驱动编程**:...
Python 3.0 引入了大量的向后不兼容的更改,导致为2.7编写的代码可能无法在3.4下运行,反之亦然。本文档将专注于Python 3.4版本的使用。 为了检查你的Python版本,可以在命令行中输入`python --version`命令。 ###...
'''Return the information in /proc/stat as a dictionary.''' CPUinfo=OrderedDict() with open('/proc/stat') as f: for line in f: if line.startswith('cpu '): values = line.split() total = sum(map...
import scipy.sparse as sparse # 创建一个10x5的DOK矩阵 a = sparse.dok_matrix((10, 5)) # 添加元素 a[2, 3] = 1.0 a[3, 3] = 2.0 a[4, 3] = 3.0 # 输出非零元素的位置和值 print("Keys:", list(a.keys())) ...
#### 一、Swift 3.0更新要点 - **版本不兼容性**:Swift 3.0是自Swift开源以来的第一个重大版本更新,它不再兼容先前的Swift 2.2和Swift 2.3版本。 - **更新详情**:Swift 3.0引入了一系列的新特性以及对现有特性的...
课程中使用的版本是2.7,需要注意的是,从2.7到3.0有一些不向后兼容的改变,因此2.7的代码可能无法在3.4中运行。要检查Python的版本,可以使用命令`python --version`。 Python的基本数据类型包括整型(int)、浮点...
PEP 372: Adding an Ordered Dictionary to collections PEP 378: Format Specifier for Thousands Separator PEP 389: The argparse Module for Parsing Command Lines PEP 391: Dictionary-Based Configuration...