Actionscript 3 为什么ActionScript3有两种编译模式(严格和标准)?

Actionscript 3 为什么ActionScript3有两种编译模式(严格和标准)?,actionscript-3,Actionscript 3,我正在学习ActionScript3.0。来自Java世界,我很容易理解严格的编译模式。我认为在编译时进行类型安全检查非常有意义 这让我想知道,为什么编译器允许标准模式,而所有类型安全检查都推迟到运行时?与较旧的ActionScript规范的兼容性是否是采用标准模式的唯一原因?并非所有函数都必须在编译时严格按照类型运行,尤其是在运行动态创建的变量和应用程序时。请看下面的示例,以获取一些好的示例。据我所知,这主要是一个风格上的问题,取决于你的编码背景。我不确定这是否可以作为一个答案,因为除了Fla

我正在学习ActionScript3.0。来自Java世界,我很容易理解严格的编译模式。我认为在编译时进行类型安全检查非常有意义


这让我想知道,为什么编译器允许标准模式,而所有类型安全检查都推迟到运行时?与较旧的ActionScript规范的兼容性是否是采用标准模式的唯一原因?

并非所有函数都必须在编译时严格按照类型运行,尤其是在运行动态创建的变量和应用程序时。请看下面的示例,以获取一些好的示例。据我所知,这主要是一个风格上的问题,取决于你的编码背景。

我不确定这是否可以作为一个答案,因为除了Flash团队之外,谁真正知道呢,但我猜是因为AS3是ECMAScript的一个实现,因此根据定义是松散类型的,这可能是有标准/宽松模式选项的主要原因