9RIA.com天地会 - 论坛

返回列表 发帖

天地培训

9RIA天地会官方培训机构

Adobe官方认证培训中心

关于as 的用法...有点点问题

比如我有一个类叫BaseClass

现在我有一个该类的实例objectA

我想问的是:

  • objectA as BaseClass
  • BaseClass(objectA )


这两种方法有什么区别呢?

请高人指点~~

天地人才库
问得好~等待高手回到~

TOP

显式转换与强制转换的
通常情况下没什么区别,但不是完全没有区别

TOP

好兄弟,讲义气!---by eko

踏上天地会荣耀之路!

 

申请舵主

加入掘金队

加入译林军

知识专题整理

 

咨询(QQ):

1442604479(小地)

 

2# zzzms


第一种情况是这样:现将objectA 和BaseClass类比较,如果是BaseClass
的对象将这个对象返回,如果不是BaseClass
的对象,返回null
第二种情况是:将objectA 强制转换为BaseClass类型,如果转换失败,报错

TOP

lxw82307 兄正解

TOP

本帖最后由 jackjack999 于 2009-4-29 16:38 编辑

objectA as BaseClass:
如果一个物件(objectA)属于一种型别(BaseClass),那么返回这个物件,否则返回Null.

BaseClass(objectA)为强制转换:
如果一个物件(objectA)属于一种型别(BaseClass),那么返回这个物件,否则报错.

示例如下:
var objectA:MovieClip = new MovieClip();
trace(objectA as MovieClip);//输出:[object MovieClip]
trace(objectA as Shape);//输出: null
trace(MovieClip(objectA));//输出:[object MovieClip]
trace(Shape(objectA));//输出:TypeError: Error #1034: 强制转型失败

TOP

本帖最后由 爬爬 于 2009-4-29 17:45 编辑
比如我有一个类叫BaseClass

现在我有一个该类的实例objectA

我想问的是:

  • objectA as BaseClass
  • BaseClass(objectA )


    这两种方法有什么区别呢?

    请高人指点~~ ...
    anylain 发表于 2009-4-29 15:01



  • 我理解倒了- -

    TOP

    原来是这样的
    这家伙很懒

    TOP

    原来是这样的

    TOP

    原来如此,谢谢高人!

    TOP

    返回列表