as3 flex基础知识100条

preview
需积分: 0 12 下载量 198 浏览量 更新于2010-04-13 收藏 30KB DOCX 举报
误发生-catch: ” + errObject.message);}finally {trace(”测试结束-finally”);}【AS3中的事件机制】在AS3中,事件是对象之间通信的重要方式。事件包括加载、播放、完成、点击等,通过Event类及其子类表示。要监听事件,可以使用addEventListener方法,参数为事件类型和事件处理器函数。例如:myButton.addEventListener(MouseEvent.CLICK, handleClick);function handleClick(event:MouseEvent):void{ trace("按钮被点击");}【Flex组件和MXML】Flex是一套基于ActionScript的UI框架,使用MXML语言进行界面布局和组件声明。例如,创建一个Button组件:<s:Button id="myButton" label="点击我" click="handleClick(event)"/>在AS3代码中,可以通过id获取MXML中声明的组件:var myButton:Button = myButton as Button;【面向对象编程】AS3支持面向对象编程,包括类、继承、多态等特性。例如,创建一个名为Person的类:class Person { public var name:String; public function Person(nameValue:String) { name = nameValue; }}然后创建一个子类Student:class Student extends Person { public function Student(nameValue:String) { super(nameValue); trace("我是学生:" + name); }}【垃圾回收机制】AS3使用自动垃圾回收机制管理内存,当一个对象不再有引用时,垃圾回收器会释放其占用的内存。需要注意的是,循环引用可能导致内存泄露,确保不再使用的对象引用被设置为null。【显示列表和舞台】在AS3中,DisplayObject类及其子类(如Sprite、MovieClip)构成了显示列表,它们可以添加到舞台(Stage)上显示。例如,创建一个Sprite并添加到舞台:var mySprite:Sprite = new Sprite();mySprite.graphics.beginFill(0xFF0000);mySprite.graphics.drawRect(0, 0, 100, 100);mySprite.graphics.endFill();addChild(mySprite);【事件冒泡和事件捕获】事件在显示列表中从最底层的节点向上(冒泡)传播,也可以从舞台向下(捕获)传播。通过eventPhase属性可以判断当前事件是在冒泡阶段还是捕获阶段。【XML和JSON】AS3支持XML和JSON两种数据格式,可用于数据交换。例如,解析一个简单的XML文档:var myXML:XML = <books><book title="Book1"/></books>;trace(myXML.book.title);对于JSON,可以使用JSON对象的parse方法将JSON字符串转换为AS3对象:var jsonString:String = '{"title":"Book1"}';var jsonObject:Object = JSON.parse(jsonString);trace(jsonObject.title);【外部接口与本地调用】AS3可以调用本地代码,如JavaScript(在网页中)或C++(在AIR应用中)。使用ExternalInterface.addCallback方法注册一个可以被外部调用的函数:ExternalInterface.addCallback("callFromJS", function(message:String):String { return "Hello from AS3";});以上仅是AS3 Flex基础知识的一部分,包括了编译设置、数据类型、逻辑运算、事件处理、面向对象、内存管理以及数据交换等多个方面,学习和掌握这些基础将有助于深入理解和开发AS3 Flex应用。