代码之家  ›  专栏  ›  技术社区  ›  stevenvh

在ActionScript3中这两种类型转换方式有何不同?

  •  1
  • stevenvh  · 技术社区  · 14 年前

    Lynda.com 标题 "ActionScript 3.0 in Flash CS3 Professional - Beyond the Basics" 托德·珀金斯展示了一种排版方式

    var xml: XML;
    xml = event.target.data as XML  
    

    不起作用,而

    var xml: XML;
    xml = XML(event.target.data)  
    


    短暂性脑缺血发作
    史蒂文

    编辑

    2 回复  |  直到 14 年前
        1
  •  4
  •   Ryan    14 年前

    基本上它们是不同的 XML(event.target.data) 意思是“把这个转换成那个类型” event.target.data as XML 意思是“假装它是XML”。

    前者与其他语言(如Java)中的类型相同。这是一种有用的方法,使代码不需要在强制转换周围有try-catch块。使用 as 如果第一个操作数的类型正确,则返回该操作数;否则返回null。

    你应该看看 as operator

        2
  •  1
  •   splash    14 年前

    这个 as 运算符返回 null 如果左操作数( event.target.data )不是右操作数的实例(应为类型= XML ),而在这种情况下,类型转换会导致异常。