只是为了说清楚 - 有什么区别:
String(value)
和
value as String
您可以使用哪一种而不是另一种情况?它们似乎可以互换......
答案 0 :(得分:9)
使用Type(变量)进行强制转换可能会导致运行时异常(RATE),而“变量类型”将返回null而不是抛出异常。
请参阅http://raghuonflex.wordpress.com/2007/07/27/casting-vs-the-as-operator/或更多解释。
答案 1 :(得分:1)
String(value)从字符串文字创建一个新的String对象。如果构造函数参数不是字符串文字,我假设它调用参数对象的.toString()方法。
value as String将简单地传回值IF值是String或String的子类。如果value不是String类型,它将传回null。
需要注意的重要一点是String(val)创建一个新对象,而value as String只是指value(并测试与String的兼容性)。
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/String.html
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/operators.html#as