ActionScript 3.0 学习(一) Array、Vector以及Object学习
2015-05-29 20:24
423 查看
相比于C语言、C++等,ActionScript的数据类型较少,但是它拥有几个功能很强大的数据类型,它们有很丰富的表达形式和很灵活的操作方式。以下以一小段代码讲解Array、Vector以及Object。
Array类相当于一个数组,但是其实例对象中的各个元素可以是不同的类型。
Vector则是保存相同数据类型的数据。它和Array都可以保存ActionScript中各种数据类型,如以下代码中就应用Vecotr存储Sprite显示对象。
Object在ActionScript中是一切类的基础类,同时它也可以作为数据集合,即可保存数据,也可保存函数,应用属性名(键)即可访问到对应的属性值(键值)。
加油,博仁良!
Array类相当于一个数组,但是其实例对象中的各个元素可以是不同的类型。
Vector则是保存相同数据类型的数据。它和Array都可以保存ActionScript中各种数据类型,如以下代码中就应用Vecotr存储Sprite显示对象。
Object在ActionScript中是一切类的基础类,同时它也可以作为数据集合,即可保存数据,也可保存函数,应用属性名(键)即可访问到对应的属性值(键值)。
package { import flash.display.Sprite; public class DataType extends Sprite { public function DataType() { var obj:Object = ["A", "B", "C"]; //Array()函数将其中的参数添加入对应的Array对象中 var arr:Array = Array(obj); trace(obj == arr); trace(arr[0] == obj); trace(arr[0][0]); //as 运算符将obj转换为数组 var arr1:Array = obj as Array; trace(obj == arr1); trace(arr1[0] == obj); arr[1] = 1; arr[2] = "hello"; trace(arr[0]); trace(arr[1]); trace(arr[2]); //Vector对象实例化时需要初始化值或者new一个对象,否则出错 //var v:Vector.<String>; 出错 var v:Vector.<String> = Vector.<String>(["hi", "nice"]); trace(v[0]); trace(v[1]); var v1:Vector.<Sprite> = new Vector.<Sprite>(); v1[0] = new Sprite(); addChild(v1[0]); v1[0].graphics.beginFill(0xff0000); v1[0].graphics.drawCircle(50, 50, 50); v1[0].graphics.endFill(); //Object类是所有类的父类,其也可以当做数据集合来使用,有不同于Array,Vector的特征 //Object即可存放数据变量,也可存放方法即函数 var foo:Object = {name:"usst", web:"www.usst.com"}; //分别用点运算符和数组运算符访问访问成员 trace(foo.name); trace(foo["web"]); //存放函数 var bar:Object = { hello:function():void { trace("Hello, guys!"); }, ok:function():String { return "that's ok"; } }; //用数组操作符访问函数的形式需注意 bar.hello(); //函数都是函数类Function的对象 (bar["hello"] as Function)(); (bar["hello"] as Function).call(this); (bar["hello"] as Function).apply(this); trace((bar["ok"] as Function).call(this)); trace(bar.ok()); //动态添加属性 foo.area = "shanghai"; bar.welcome = function():void { trace("welcom to shanghai"); }; (bar["welcome"] as Function).call(this); for(var i:String in foo) { trace(i + ": " + foo[i]); } } } }
加油,博仁良!
相关文章推荐
- Objective-c Category使用
- ArcSDE的SQL操作ObjectID获取方式
- OC学习篇之---Foundation框架中的NSObject对象
- file path: c++ #include vs. object-c #import
- Flask 中使用 JSON 响应页面的 Ajax 请求报错 TypeError: 'dict' object is not callable
- iOS Objective-C 身份证号码校验
- Objective-C中的self关键词
- Objective-C对象的申请空间与初始化
- WebService传输SoapObject数据出现 org.ksoap2.serialization.SoapObject cannot be cast to java.util.Vector的问题
- Java核心API -- 1(Object类)
- 浏览器提示Uncaught TypeError: object is not a function XXX onclick
- IOS开发系列—Objective-C之Foundation框架
- JQuery创建object 并自定义键、值(获取table中数据,封装成一个对象)
- UITableViewCell Property “icon” cannot be found in forward class object “DJWeiBo”
- 使用objection来模块化开发iOS项目
- 条款21:必须返回对象object时,不要返回其引用reference
- Cocoa 框架 For iOS(一) 框架的介绍,Objectivie-C运行时能力的解析等
- BING : Binarized Normed Gradients for Objectness Estimation at 300fps 论文笔记
- Windows之SignalObjectAndWait
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法