Mau*_*oer 4 apache-flex flex3 actionscript-3
有谁知道Flex 3中两种类型转换方式之间的真正区别?
var myObject1:MyObject = variable as MyObject;
var myObject2:MyObject = MyObject(variable);
Run Code Online (Sandbox Code Playgroud)
我更喜欢使用第二种方法,因为它会在类型转换失败时抛出Error,而第一种方法只返回null.但是还有其他差异吗?使用第一种方法可能有什么好处?
第二种类型的转换对于顶级(http://livedocs.adobe.com/flex/2/langref/)类型具有不同的行为,例如,Array(obj)不会以您描述的直接方式进行转换; 如果可能的话,它会从obj创建一个新的数组,即使obj是一个数组.
我确定这会导致意外行为的时间很少见,但我总是因为这个原因使用"as".这意味着如果我这样做
int(str)
Run Code Online (Sandbox Code Playgroud)
我知道这是"尝试转换"这个词的意义而不是"我保证是这样"的意义.
参考:从http://raghuonflex.wordpress.com/2007/07/27/casting-vs-the-as-operator/获得了一些确认
归档时间: |
|
查看次数: |
3037 次 |
最近记录: |