JavaScript-JavaScript和ActionScript 3之间的主要区别是什么
我知道两种脚本语言使用的都是ECMA标准。
似乎两者都有类似Javascript的事件监听方式。
所以想请教下有js和as开发经验朋友讲讲,它们之间主要区别是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我知道两种脚本语言使用的都是ECMA标准。
似乎两者都有类似Javascript的事件监听方式。
所以想请教下有js和as开发经验朋友讲讲,它们之间主要区别是什么?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
两者语法很相近,因为都是基于ECMA标准,js基于浏览器,目前应用很广阔,html5 jQuery等轻量级脚本都是基于javascript;as依靠需要flash支持,随着安卓4.1放弃了flashplayer,堕落了许多
1.两者运行环境不同:
js运行在浏览器中,本身是被解释执行的。
as是运行在avm中,即as的虚拟机,文件以swf存在,需要进行编译。需要浏览器装有插件或者桌面运行时等。
2.二者都是基于ECMA标准,所以一些语法很像,但是是有本质不同的。
3.js是弱类型,基于原型的oop语言。而as3是基于类的oop语言,并且是强类型的。
4.二者各有很多开发框架,各有不同的用途。
5.最新的开发工具flash cc支持更好的将as程序导出html5和Dart。
在以往,单纯的html+css+js没有办法实现复杂的动画效果或者说实现很困难,以as作为内置语言的flash简单易用,所以成为增强网页效果的大多数选择。随着js的发展,特别是html5+css3+js的相关技术发展,一些曾经做不到的效果,可以轻松实现了。因此在前端开发富互联网程序(RIA)中,js成为非常热门的技术。as称为一种非常好的解决方案。
在运行时上,js基于浏览器,甚至可以应用在编写服务器脚本(node.js)。as可以运行在包含虚拟机的2中运行时中,flashplayer(浏览器插件,桌面端,移动端支持弱或不支持),adobe集成运行环境(缩写AIR,可以运行在桌面,通过不同的编译方式可以运行在安卓设备和ios设备上,移动方面的主要实现形式)。
关于二者的发展产生了很多争论,但是“合适的项目使用合适的技术,世上没有解决一切问题的银弹”。二者各有所长各有所短,有交集也有区别。可以发挥不同的作用。
由于flash起源动画设计,并且十分简单易用,因此被应用在非常多的领域,但是也造成了滥用的后果(比如典型的小广告满天飞)。大量没有经过仔细设计和详细优化的程序产品的产生使flash本身背负了效率差,耗费资源的恶名。最新的as3语言尽管在性能上不如c/c++和java等等大型语言,但是通过精心设计和合理优化同样可以完成对性能要求高和品质优秀的产品。
html5作为新兴的技术,非常强大,但是能力的强大同样承担着大量的责任。因为也会有被滥用和恶意使用的可能。需要开发者合理的利用掌握的技术。
就我个人的理解,总结一下区别,主要有这三点吧:
1.JavaScript的文档对象模型(DOM)是以浏览器窗口,文档和表单为主的,ActionScript的文档对象模型(DOM)则以SWF格式动画为主,可包括动画,音频,文字和事件处理,JavaScript也可以用于其他场合,如服务器端编程;
2.JavaScript和ActionScript 3的标准库很大区别,JavaScript的配备了一个作为补充れ和浏览器相关的预定义的几个类。 ActionScript中有一个相当大的标准库(像流视频功能),并在所有的平台兼容;
3.ActionScript更容易维护,Adobe已经做了非常多的工作,很多初学者并不真正需要了解ActionScript编程,只要懂得如何使用Adobe就能开发出很多功能;而JavaScript可以说更为强大,是一种动态、弱类型、基于原型的语言,内置支持类型,提供了更多可用的语言特征,也产生了非常多的强大框架,如ExtJS和jQuery等,另外配合一些强大解析引擎,甚至可以用来创建高性能服务器(如Node.js)
其实,js和as没有多大的关系,总结几点自己的看法:
不同点:
1、两者的运行环境不同:
javascript运行需要浏览器的脚本解析器支持。
actionscript则需要flashplayer的浏览器插件。
2、两者操控的显示对象不同:
js控制html的标签。
as控制flash内部的displayobject。
相似点:
1、js2.0与as3.0的语法很相似。
2、js和as在浏览器层面可以进行相互调用方法。