作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
两者之间是否存在使用、效率或背景技术方面的差异?
var mc:MovieClip = MovieClip(getChildByName("mc"));
var mc:MovieClip = getChildByName("mc") as MovieClip;
最佳答案
This article很好地描述了差异:
A key difference between casting and the as operator is the behavior on failure. When a cast fails in ActionScript 2, null is returned. When a cast fails in ActionScript 3, a TypeError is thrown. With the as operator in ActionScript 3, whenever a cast fails the default value for the datatype is returned.
as
还允许您转换到
Array
,这在之前是不可能的,因为转换函数
Array()
优先。
as
据报道比各种文章中的函数调用样式转换更快:[
1 ] [
2 ] [
3 ]。引用的第一篇文章着眼于深度的性能差异,并报告了
as
快 4-4.5 倍。
as
在正常的最佳情况下快 4-4.5 倍,但是当您包装
(cast)
时在 try-catch 块中进行样式转换,实际上最终会抛出错误,它更像是快了 30 到 230 倍。在 AS3 中,如果您认为自己将做一些特殊的事情(因为它可能会引发错误),那么很明显,您应该始终在跳跃之前查看。除非被 API 强制,否则永远不要使用 try/catch,实际上这意味着永远不要
(cast)
即使没有抛出异常,查看 try/catch 的性能影响也是有益的。即使在没有出错的情况下,设置 try/catch 块也会降低性能。
关于actionscript-3 - AS3 : cast or "as"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14268329/
我是一名优秀的程序员,十分优秀!