望麓自卑—湖南大学最具潜力的校园传媒

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2001|回复: 1

ActionStript3.0 特性介绍

[复制链接]
发表于 2008-9-24 15:35:02 | 显示全部楼层 |阅读模式
ActionStript3.0 特性介绍

ActionScript 是针对 Adobe Flash Player 运行时环境的编程语言,它在 Flash 内容和应用程序中实现了交互性、数据处理以及其它许多功能,ActionScript 是由 Flash Player 中的 ActionScript 虚拟机 (AVM) 来执行的。ActionScript代码通常被编译器编译成“字节码格式” ,有点类似 java 的处理和运行机制。变过 C#,Java和javascript程序的朋友,肯定能在 ActionScript 中找到这些语言的影子。

以下是Actionscript的基本特性介绍。具体完整的学习,还是需要找找资料。例如,《ACTIONSCRIPT 3.0权威指南》http://www.china-pub.com/208958
《FLASH/FLEX ACTIONSCRIPT 3.0交互式开发详解:语法基础、典型应用、视频网站实战》http://www.china-pub.com/38096

1. 内置命名空间和自定义命名空间

四个内置修饰符:

public :对所有代码可见

private: 只对类内部可见

internal :只对定义所在的同一包内可见

protected :对同一包以及不同包的子类可见



自定义命名空间:使用关键字namespace定义命名空间,声明属性和方法时,应用命名空间。

AS 代码:

Namespace testSpace=\"org.blogjava.jm/ testSpace \";

testSpace myfunction2():void{}

调用使用 use 关键字打开命名空间

use mySpace2;

myfunction2();


2. Local 变量特点

与java不同的是,在as3中,变量没有块级作用域(即两人大括号中间),如果在一个块内声明了一个变量,比如一个for循环内声明了一个变量,它在该代码所在整个函数内都是可访问的。

function myFunction():void{

for(var i:int=0;i<5:i++){

var last:int = i;

}

trace(last);

}



last 在 for 中定义但可以在 for 块外面访问到,个人觉得这样设计欠妥,尽管很方便。

3 Dynamic 类

Object 类本身就是动态类,当然也可以用 dynamic 关键字来声明一个类,所谓动态就是在运行时可以对类追加属性和方法。

dynamic class Protean{}

var myProteanrotean = new Protean();

myProtean.name = \"jack.wang\";

myProtean.password = 3;

trace(myProtean. name , myProtean. password );

定义函数的两种方式:函数语句和函数表达式
//函数语句声明

Function fun1():void{}

//函数表达式声明

var fun2:Function = function():void{}

函数表达式声明的函数是不能够被垃圾回收的,必须显示的调用 delete 命令。

var t:Test = new Test(); //t是动态类Test的一个实例

t.funt = function(){};//把一个函数声明为t的一个属性

delete t.funt; //删除刚才新增的函数,我们刚才声明的函数也被回收了


5 在as3中也有arguments对象,功能基本上和javascript中的一样。

arguments 对象是一个数组,其中包括传递给函数的所有参数,arguments.length 属性报告传递给函数的参数数量,(避免将 \"arguments\" 字符串作为参数名,因为它将遮蔽 arguments 对象)

function traceArgArray(x:int):void

{

for (var i:uint = 0; i < arguments.length; i++)

{

trace(arguments);

}

}

raceArgArray(1, 2, 3);

// 输出:

// 1

// 2

// 3


当然也可以用类似 java 的形式

function traceArgArray(x: int, args)

6 在as3中允许定义同名的静态属性和实例属性

class StaticTest

{

static var message:String = \"static variable\";

var message:String = \"instance variable\";

}

// 在脚本中

var myST:StaticTest = new StaticTest();

trace(StaticTest.message); // 输出:静态变量

trace(myST.message); // 输出:实例变量



7 在as中有一个叫做set和get存取器的东西,类似JavaBean,但又有所不同。

class GetSe
t{

private var privateProperty:String;

public function get publicAccess():String

{

return privateProperty;

}

public function set publicAccess(setValue:String):void

{
privateProperty = setValue;
}
}
发表于 2008-12-17 16:20:04 | 显示全部楼层
flash好久没用了,现在都ActionStript3.0 了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

每日推荐上一条 /1 下一条

小黑屋|手机版|湖南大学望麓自卑校园传媒 ( 湘ICP备14014987号 )

GMT+8, 2024-11-27 13:55 , Processed in 0.718769 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表