订阅
订阅
0有用+1
0

Action script

面向对象的编程语言
同义词actionscript(actionscript)一般指Action script
ActionScript是由Macromedia公司开发、Adobe公司维护的面向对象编程语言,最初作为Flash平台的脚本语言,通过编译器生成SWF字节码在ActionScript虚拟机中运行。2006年发布的3.0版本重构架构,新增ECMAScript for XML(E4X)支持及改进API控制能力 [1] [2]。2022年Harman接管维护后推出3.1版本,引入可选链运算符与空值合并运算符等现代语法特性 [3-4]
该语言基于ECMAScript标准,采用类、包和命名空间实现面向对象编程,支持强类型声明与事件侦听机制 [5-6]。其代码可通过Adobe Flash Professional、Flash Builder或Flex SDK等工具编译,嵌入SWF文件后在Flash Player和Adobe AIR运行时环境中执行。ActionScript 3.0支持Windows、macOS等多平台部署,广泛应用于富互联网应用程序开发 [1] [7]
软件名称
动作脚本
软件平台
Windows、MacOS、Linux、Android、iOS
开发商
Harman、Adobe、Macromedia
软件版本
ActionScript 3.1
外文名
ActionScript
简    称
AS
特    点
面向对象

重要功能

播报
编辑
ActionScript 3.0提供了可靠的编程模型,具备面向对象编程基本知识的开发人员都熟悉此模型。ActionScript 3.0相对于早期ActionScript版本改进的一些重要功能包括:
  • 一个新增的ActionScript虚拟机,称为AVM2,它使用全新的字节代码指令集,可使性能显著提高
  • 一个更为先进的编译器代码库,可执行比早期编译器版本更深入的优化
  • 一个扩展并改进的应用程序编程接口(API),拥有对对象的低级控制和真正意义上的面向对象的模型
  • 一个基于ECMAScript for XML(E4X)规范(ECMA-357 第2版)的XML API。E4X是ECMAScript的一种语言扩展,它将 XML 添加为语言的本机数据类型。
  • 一个基于文档对象模型(DOM)第3级事件规范的事件模型 [1] [8]

语言发展

播报
编辑

3.1版本

在Adobe与Harman达成协议,由后者接管Adobe AIR的更新维护后,Harman在2022年底推出了AIR 50。在这个版本中,ActionScript编译器新增对可选链运算符空值合并运算符逐字字符串的支持。 [3]而后在Harman托管的ActionScript 3.0语言参考中,相关的运算符被标记为ActionScript 3.1。 [4]这是ActionScript时隔16年再次得到语言更新,也是这门语言首次迭代次要版本号,它代表了语言得以复苏、现代化、去平台化,并重新建立治理与社区信任的一次象征性跃迁。

3.0版本

Adobe于2006年年中推出了ActionScript 3.0。 [2]ActionScript 3.0包含许多类似于ActionScript 1.0和2.0的类和功能。但是,ActionScript 3.0在架构和概念上与早期的ActionScript版本不同。ActionScript 3.0中的改进包括新增的核心语言功能,以及能够更好地控制低级对象的改进API。 [1]
核心语言功能
核心语言定义编程语言的基本构造块,例如语句、表达式、条件、循环和类型。ActionScript 3.0包含许多加快开发过程的功能。 [1]
ECMAScript for XML (E4X)
ActionScript 3.0实现了ECMAScript for XML (E4X),后者最近被标准化为ECMA-357。E4X提供一组用于操作XML的自然流畅的语言构造。与传统的XML分析API不同,使用E4X的XML就像该语言的本机数据类型一样执行。E4X通过大大减少所需代码的数量来简化操作XML的应用程序的开发。 [1]
API功能
ActionScript 3.0中的API包含许多可用于在低级别控制对象的类。语言体系结构的设计比早期版本更为直观。虽然有太多的类需要详细介绍,但是一些重要的区别更值得注意。 [1]

早期发展

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。