`

Flex中的Object和Dictionary

    博客分类:
  • Flex
阅读更多

今天看“Flex 3”,考虑在实习结束之前将这本借来的书读完,然后也算是自己又多会了门语言(此语言和Java基本上很像,只是读懂代码和会写代码还是有很多差距的,更何况还有很多API呢,我终于认识到了了解API的重要性。。)

 

言归正传,话说一开始在code里看到Dictionary很是困惑,数据字典这个名词也是一直困惑我的名词,总是查完就忘。。Object还是蛮容易理解的,和JSONObject很像,应该说经常结合JSON来做远程数据传输。我们可以给Object的实例添加自定义的属性(一般一个类在初始化之前必须是预先定义好的,初始化之后我们只能访问预定义的属性和方法),举例如下:

var obj : Object = new Object();
obj['id'] = "1";
obj['name']="wyr"

 也可以和定义Array一样,直接赋值,举例如下:

var obj:Object = {"id" : "1", "name"  : "wyr"};

 其实就是key-value,嗯。

 

其实Dictionary和Object很相像,用途也差不多是一样的,只是Object的key只能是字符串,就算赋值的时候不是,也会被转换为字符串的,Dictionary的key可以是任何类型。(Object的key都是被转换为字符串(String)类型理解的,当有多个对象,作为某个Object实例的key时,如果key对象的toString结果是一样的,那么得到的结果也是一样的),下面一个例子应该能多多少少说明这个问题:

var key1:Object = new Object();
key1.toString() = function():String {
      return "1";
};

var key2:Object = new Object();
key2.toString() = function():String {
      return "1";
};

var key3:String = "1";

var key4:int = 1;

var obj:Object = new Object();
obj["1"] = "a";

var dict: Dictionary = new Dictionary();
dict["1"] = "a";

//Result
trace(obj[key1]);         //1
trace(obj[key2]);         //1
trace(obj[key3]);         //1
trace(obj[key4]);         //1


trace(dict[key1]);         //未定义
trace(dict[key2]);         //未定义
trace(dict[key3]);         //1
trace(dict[key4]);         //1
 其实还是有点小糊涂,多读读吧。。
分享到:
评论

相关推荐

    java 与 flex 数据转换

    - Java 的 `java.util.Map` 和 `java.util.Dictionary` 对象转换为 ActionScript 的 `Object`。 9. **其他类**: - 非基础类型的数据,例如自定义的 Java 类,会映射为 ActionScript 的 `Object` 类型,并且必须...

    FriendsofED.Object.Oriented.ActionScript.3.0.Jul.2007

    通过学习《FriendsofED.Object.Oriented.ActionScript.3.0.Jul.2007》,开发者不仅可以掌握ActionScript 3.0的基本语法,还能深入理解面向对象编程的概念和实践,从而在开发Flash和Flex应用程序时得心应手。书中的...

    hashMap工具类

    `hashMap`类是基于Flex框架中的`Dictionary`类构建的。`Dictionary`是Flash中内置的一个类,它可以存储任意类型的键值对。尽管`Dictionary`类本身已经非常强大,但在某些场景下,开发人员可能需要更高级的功能或更...

    AMF格式文件

    在Flash Player 10中,针对Vector和Dictionary数据类型进行了额外的更新。 AMF3数据类型丰富,主要包括: - undefinedType:表示未定义的类型; - nullType:表示空值; - falseType 和 trueType:表示布尔值; - ...

    各学习网站积累

    9. **ActionScript与Flash Player的交互**:了解如何使用Flash Player的API,如LocalConnection和SharedObject,以实现本地存储和跨域通信。 10. **性能优化**:学习如何避免内存泄漏,正确使用垃圾回收,以及优化...

    上传AS3CBLibrary库

    1. **基础类和工具集**:库通常会包含一些基础的类,如数据结构(Array、Dictionary等)、字符串处理、日期时间操作、数学计算等,这些工具类可以帮助开发者快速实现常见的编程任务。 2. **事件处理**:AS3中事件...

    常用数据结构(ActionScript3版)

    在IT领域,数据结构是计算机科学中的核心概念,它涉及到如何高效地组织和存储数据,以便于快速访问和处理。ActionScript3(AS3)是Adobe Flash Platform的主要编程语言,常用于开发富互联网应用程序(RIA)。在这个...

    ActionScript开发技术大全

    第7章ActionScript3.0中的日期和时间 139 7.1日期与时间 139 7.1.1创建日期对象 139 7.1.2日期对象的属性与方法 140 7.1.3日期格式化 143 7.2时间间隔 144 7.2.1使用Timer类 144 7.2.2秒表示例 146 7.3小结 149 第8...

    AS3编码规范

    结合了作者多年来的Flash项目开发及管理经验,吸收了驼峰命名法与匈牙利命名法的优点,并融合了面向对象的开发思想以及MVCS(Model-View-Controller-Services)模式,以期提高Flash和Flex项目的开发效率。...

Global site tag (gtag.js) - Google Analytics