ActionScript是由Macromedia公司开发、Adobe公司维护的面向对象编程语言,最初作为Flash平台的脚本语言,通过编译器生成SWF字节码在ActionScript虚拟机中运行。2006年发布的3.0版本重构架构,新增ECMAScript for XML(
E4X)支持及改进API控制能力。2022年
Harman接管维护后推出3.1版本,引入可选链运算符与空值合并运算符等现代语法特性。
重要功能
ActionScript 3.0提供了可靠的编程模型,具备
面向对象编程基本知识的开发人员都熟悉此模型。ActionScript 3.0相对于早期ActionScript版本改进的一些重要功能包括:
语言发展
3.1版本
在Adobe与
Harman达成协议,由后者接管
Adobe AIR的更新维护后,Harman在2022年底推出了AIR 50。在这个版本中,ActionScript编译器新增对可选链运算符、空值合并运算符和逐字字符串的支持。而后在Harman托管的ActionScript 3.0语言参考中,相关的运算符被标记为ActionScript 3.1。这是ActionScript时隔16年再次得到语言更新,也是这门语言首次迭代次要
版本号,它代表了语言得以复苏、
现代化、去平台化,并重新建立治理与社区信任的一次
象征性跃迁。
3.0版本
Adobe于2006年年中推出了ActionScript 3.0。ActionScript 3.0包含许多类似于ActionScript 1.0和2.0的类和功能。但是,ActionScript 3.0在架构和概念上与早期的ActionScript版本不同。ActionScript 3.0中的改进包括新增的核心语言功能,以及能够更好地控制低级对象的改进API。
核心语言功能
核心语言定义编程语言的基本构造块,例如语句、表达式、条件、循环和类型。ActionScript 3.0包含许多加快开发过程的功能。
ECMAScript for XML (E4X)
ActionScript 3.0实现了ECMAScript for XML (E4X),后者最近被标准化为ECMA-357。E4X提供一组用于操作XML的自然流畅的语言构造。与传统的XML分析API不同,使用E4X的XML就像该语言的本机数据类型一样执行。E4X通过大大减少所需代码的数量来简化操作XML的应用程序的开发。
API功能
ActionScript 3.0中的API包含许多可用于在低级别控制对象的类。语言体系结构的设计比早期版本更为直观。虽然有太多的类需要详细介绍,但是一些重要的区别更值得注意。
早期发展
从
macromedia大刀阔斧对As1.0进行改革到AS2.0,这一段过程看上去还算长一些,从flashmx到flash mx2004到flash 7.2再到
flash8. 它们的核心actionscript都是as2.0.在flash8刚刚发布不长时间,macromedia又紧罗密鼓的推出了flash9预览版,
Adobe发布的预览版可以对AS3.0进行编译,而As3.0经过测试它的速度可以说要比之前的as2.0快10倍.拿着
as3.0与As2.0相对比,它看上去就象是重写的一种新语言一样.还有随之推出的adobe的Flex 2.0 builder. Flex sdk.让许多人一时不知所措。
·
Flash Player2:第一个支持脚本的版本,包括控制
时间轴的gotoAndPlay, gotoAndStop, nextFrame和nextScene等动作。
· Flash Player 3:增强了载入外部
SWF文件的基本脚本支持(
loadMovie)。
· Flash Player 4:第一个完全实现脚本功能(称为动作)的播放器。这些脚本拥有简练的语法和对循环,条件,变量和其它基本
语言结构的支持。
· Flash Player 5:第一个拥有真正意义上的ActionScript的版本。依据
ECMAScript并采用基于原型编程,并允许完全的 过
程序编程和面向对象编程。
· Flash Player 6:增加了事件
处理模型,并且支持switch。
· Flash Player 7:Flash Player 7 提供一些新特性如支持
CSS显示文本和
增强显示效果。
Macromedia Flash编译器和Flash Player 7同时支持基于ECMAScript 4 Netscape Proposal的类
编程语言ActionScript 2.0。不过ActionScript 2.0能
交叉编译成ActionScript 1.0的
字节码,因此它能运行于Flash Player 6。
·
Flash Player 8:增加用于
运行时图象
数据控制和文件上传的新
类库及APIs,ActionScript 2.0功能更为完善。
· Flash Player 8.5(计划于2006春发布release版本,currently in public beta):增加ActionScript 3.0和一个称为
AVM2(ActionScript Virtual Machine 2)新的
虚拟机,它可以与前版本AVM1共存以便支持旧内容。增强性能是该版本的主要目标。
· Flash Player 9 2007发表,这是adobe收购
Macromedia后的第一个版本,并且也是
Mac OS X上第一个Universal版本的Flash Player。
参考资料
Previews.ADOBE® AIR® SDK Previews ADOBE® AIR® SDK.