flash actionscrip2.0与flash actionscrip3.0的区别是什么?
发布网友
发布时间:2022-08-26 12:09
我来回答
共2个回答
热心网友
时间:2024-12-14 08:20
flash actionscrip2.0与flash actionscrip3.0其实没有什么联系,他们除了名字差不多之外,就没有什么相似点了。
actionscrip2.0是MicroMedia开发的脚本语言,语法体系类似于javascript,提供的API相对有限
actionscrip3.0是MicroMedia公司被Adobe收购之后,Adobe开发的一套非常正规的编程语言,语法体系类似于java或者C#,而且提供功能强大,提供针对不同运行时环境的API,包括手机和平板电脑等移动媒体,这些都是AS2.0所没有的。
两者之间,互相通用的语句很少,除了play,stop,if等少数语句还一样,大多数语句都不能用。并且,AS3.0还拒绝在元件上直接写语句。
热心网友
时间:2024-12-14 08:20
首先说下as2实际上是as1的升级版,引入一面向对象的概念,但并不是完全面 向对象的语言,只是在编译过程中支持OOP语法。as2的面向对象虽然不全面,但是却是首次将OOP带到了FLASH,而AS3是一个完全基本OOP的标准化面向对象语言,最重要的就是as3不是as2的简单升级,而完全是两种思想的语言。可以说,as3全面采用了面向对象的思想,而as2则仍然停留在面向过程阶段,举个例子,就像VB和C#的感觉。
所以as3绝不是as2的升级版,在as3里,可以看到java和c#的影子,确实,这三种语言大部分思想都是一致的,只有一些小的区别,比如as3引入了命名空间的概念,但是不支持比如委托,在包封装及外部访问上也引入了一些新概念。
在编译阶段,as2采用的是AVM1(actionScript vitual machine),而as3采用的是AVM2。新一代虚拟机采用了OOP思想,在执行速度上比起avm1也快了10倍。还提供了异常处理。以前我们在使用AS2时,一旦出错,AVM1选择的是静默失败,让人根本不知道什么地方出错了,会浪费大量的时间去查错,而AVM2与目前主流的编译器一样,会有异常处理,运行出错会输出错误提示,工作效率大大提高。如果做个对比,我想说,AVM1就是大刀长矛,而AVM2就是手*,大刀和长矛也能杀敌,但是只在面对弱智的敌人才能发挥作用,面对一个大型项目,不用点现代化工具是不行滴。
呵呵!祝你:学习进步、开心快乐每一天!