回到顶部
您的当前位置: 编程语言> FLEX> FLEX基础> 基础语法
Flex基础(二)AS语法概述
2014-06-16 19:33:57
标签: 网络整理 Flex ActionScript 语法概述
ActionScript 3.0 语法概述

ActionScript是Adobe Flash Player和Adobe AIR运行环境下的编程语言,由嵌入在Flash Player中的ActionScript虚拟机(AVM)执行。ActionScript代码通常由编译器(如Adobe Flash CS4 Professional或Adobe Flash Builder的内置编译器,或Adobe Flex SDK中提供的编辑器)编译为“字节代码格式”(一种由计算机编写并且计算机能够理解的编程语言),字节码嵌入在SWF文件中,SWF文件由Flash Player和AIR执行。

ActionScript 3.0 提供了可靠的编程模型,具备面向对象编程的基本知识的开发人员对此模型会感到似曾相识。ActionScript 3.0 相对于早期 ActionScript 版本改进的一些重要功能包括:

  • 一个新增的 ActionScript 虚拟机,称为 AVM2,它使用全新的字节代码指令集,可使性能显著提高

  • 一个更为先进的编译器代码库,可执行比早期编译器版本更深入的优化

  • 一个扩展并改进的应用程序编程接口 (API),拥有对对象的低级控制和真正意义上的面向对象的模型

  • 一个基于 ECMAScript for XML (E4X) 规范(ECMA-357 第 2 版)的 XML API。E4X 是 ECMAScript 的一种语言扩展,它将 XML 添加为语言的本机数据类型

  • 一个基于文档对象模型 (DOM) 第 3 级事件规范的事件模型

AS于Flex中的几种使用方式

1)在MXML中编写ActionScript代码

在MXML文件中插入标签,即可编写ActionScript代码。例如:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
  creationComplete="a()">
    <fx:Script>
        <![CDATA[
            public function a():void
            {
                var i:String= "Flex";
            }
        ]]>
    <fx:Script>
</s:Application>

2)编写ActionScript类

新建Flex项目,在src包下,建AS类文件。例如,要定义一个计算圆面积的类,可以使用以下代码:

package com.flex.demo
{
    public class Circle
    {
        //定义常量π
        private const PAI:Number = 3.14;
        
        //定义属性: 半径
        private var radius:Number ;
        
        //构造方法
        public function Circle(radius:Number)
        {
            this.radius = radius ;
        }
        
        //获得圆的面积方法
        public function area():Number
        {
            return this.PAI*this.radius*this.radius;
        }
    }
}

3)在MXML文件中引用AS类及AS文件

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
	   xmlns:s="library://ns.adobe.com/flex/spark"
	   xmlns:mx="library://ns.adobe.com/flex/mx"
	   initialize="appInitializeHandler(event)">
<fx:Script>
    <![CDATA[
        import mx.managers.BrowserManager;
        			
        protected function appInitializeHandler(event:FlexEvent):void
        {
            // 设置标题栏目
            BrowserManager.getInstance().setTitle('IPWIN');
        }
    ]]>
</fx:Script>

<!-- 加载外部AS文件 -->
<fx:Script source="assets/ascript/dispatch.as"/>

</s:Application>

注:以上代码中,import即引用的AS类文件,可以为flex自带的文件,也可以为自己定义的类文件。<fx:Script />标签引用的是AS文件,仅包含方法的AS文件不可为类文件。