我最近意识到Actionscript和Javascript都是ECMA脚本的实现。现在我想知道这在实践中意味着什么。
我有一个用ActionScript编写的Flex应用程序,我正在考虑将其部分移植到Javascript以便在AJAX应用程序中使用。到目前为止,我几乎没有接触到JS(不考虑我的HTML中偶尔的onClick处理程序),所以也许问题很愚蠢。但是,我可以只使用我的Actionscript类并在JS代码中使用它们吗?
当然,我不能在JS中使用任何Flash Player API,也不能在我的Flash电影中使用任何DOM,这很明显。是否有其他重要的图书馆不能在另一方使用?
答案 0 :(得分:1)
不,通常不会。语言相似但不同。标识符的区分大小写是一个大的(对于旧版本的ActionScript)。
答案 1 :(得分:1)
AS3充其量是一种ECMA脚本方言。这是一个完全删除的ECMA脚本草案的实现。 JS是AS3的子集。但是,Flex SDK中包含的ActionScript编译器会抱怨任何无类型的变量或函数,因此在编译时会有很多警告。
你一定要看看Jangaroo。
而且,与往常一样,我个人的建议是,由于显而易见的原因,您要慢慢迁移(至少应用程序的逻辑部分)到Haxe。您可以使用as3tohaxe来方便移植。
答案 2 :(得分:0)
有AS2和AS3语言,它们基于不同版本的ECMA脚本,不兼容。没有Flash API的AS2上的应用程序代码与js非常相似。