Object 数据类型是由 Object 类定义的。Object 类用作 ActionScript 中的所有类定义的基类。ActionScript 3.0 中的 Object 数据类型与早期版本中的 Object 数据类型存在以下三方面的区别:第一,Object 数据类型不再是指定给没有类型注释的变量的默认数据类型。第二,Object 数据类型不再包括 undefined 这一值,该值以前是 Object 实例的默认值。第三,在 ActionScript 3.0 中,Object 类实例的默认值是 null。
在flex实践当中,object类型是一个使用率很高的类型,因此需要熟练使用,尤其要注意下述3点:
1) object属性使用(读取、添加、删除、遍历)
object类型通过“.”或者”[]”动态添加属性,通过delete操作删除已有的属性,那么as中object为何可以如此操作?原理如何?个人认为,熟悉java的不妨把object当做map来看好了(key-value的键值对,事实上blazeds进行flex和java通信的时候,flex的object就是序列化成java的map类型)。当然object可以动态增删属性一定要与actionscript的动态类关联起来。
假设现有一个object,var person:Object;
person.name = “emma”; //添加了name属性, person[“name”] = “emma”,效果一致;
delete person.name; //删除name属性
var name:String = person.name; //读取name属性
/*遍历person所有属性*/
for(var prop in person){
person[prop]
}
2) object复制、克隆
经常会遇见复制一个object出来用作其它处理,这时就需要掌握object的复制和克隆了,其原理很简单,把原object序列化成流,然后将流反序列化成新对象即可。在actionscript3中已有objectutil工具类封装了object的复制和克隆功能,大家只要如下调用即可。
ObjectUtil.clone(value); //clone object
ObjectUtil.copy(value); //copy object
3) uid
经常会碰到比较2个对象是否一致,当然可以通过遍历每一个属性值是否相等来实现,这样的效率很差,而且代码工作量比较大。因此,建议给object加个uid,通过uid是否相等来比较是否同一个object。事实上flex中的很多组件设计就有此思想,如常用的datagrid控件,当其设置了dataprovider之后,dataprovider中的每一个对象会被自动添加mx_internal_uid属性,该属性的值就是uid值。
var uid:String = UIDUtil.createUID(); //获取uid值。
分享到:
相关推荐
ActionScript3类型与java数据类型对应表
《Flash ActionScript3殿堂之路》共分5个部分。第1部分:ActionScript 3语言基础;第2部分:ActionScript 3面向对象编程;第3部分:ActionScript 3 核心类;第4部分:ActionScript 3主要的Flash Player API;第5部分...
ActionScript脚本几种数据类型的相互转换
本书是国内第一本“面向原因式”(Why-Oriented Book)、全面系统介绍Flash ActionScript 3的书籍。全书共分为5个部分。第一部分:ActionScript 3语言基础;第二部分:ActionScript 3 面向对象编程;第三部分:...
★国内第一本“面向原因式”(Why-Oriented Book)与国际同步的、... ActionScript 3语言基础,ActionScript 3面向对象编程,ActionScript 3核心类,ActionScript 3主要的Flash Player API,ActionScript 3视觉编程。
ActionScript 3 For Adobe Flash CS4 Professional About this guide This guide provides a quick introduction to migrating to ActionScript 3 from ActionScript 2. It is targeted at designers and ...
ActionScript3代码规范 ActionScript3代码规范 ActionScript3代码规范
《Flash ActionScript 3殿堂之路》光盘
Flash ActionScript3殿堂之路
Flash ActionScript 3 殿堂之路 笔记,我自己的笔记,仅供参考(只有前8章)
as3 pdf下载 ActionScript 3.0 是一种强大的面向对象编程语言,它标志着 Flash Player Runtime 演化过程中的一个重要阶段。设计 ActionScript 3.0 的意图是创建一种适合快速地构建效果丰富的互联网应用程序的语言,...
ActionScript3中文手册
ActionScript3高级动画教程,游戏开发,碰撞检测,转向行为,等角投影,寻路算法。
Flash.ActionScript3.殿堂之路
殿堂之路,非常好的ActionScript3.0教程,适合广大初学者入门,也适合作为工具书翻阅
ActionScript3中文教程,详细介绍了用 FLASH CS3开发应用程序。
《Flash ActionScript 3殿堂之路》光盘
Flash ActionScript 3殿堂之路.part1,真正的完整版
《Flash ActionScript 3殿堂之路》光盘
ActionScript3教程,压缩包里有两个pdf类型文件,一个是ActionScript3教程,另一个是ActionScript3异常和错误处理,个人觉得满不错的