Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3256219
  • 博文数量: 530
  • 博客积分: 13360
  • 博客等级: 上将
  • 技术积分: 5473
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-13 13:32
文章分类

全部博文(530)

文章存档

2017年(1)

2015年(2)

2013年(24)

2012年(20)

2011年(97)

2010年(240)

2009年(117)

2008年(12)

2007年(8)

2006年(9)

分类:

2010-07-16 17:14:22


1.is运算符 
    用来验证变量是否为是某一数据类型、类
    使用is运算符代替instanceof运算符进行类型比较。
    也可以使用is运算符检查对象是否实现了某个接口。
例:
    import flash.display.*;
    import flash.events.IEventDispatcher;
    private function initApp():void{
         Sprite类继承了DisplayObject类和接口IEventDispatcher
          var mySprite:Sprite = new Sprite();
          trace(mySprite is Sprite);           // true
          trace(mySprite is DisplayObject);    // true
          trace(mySprite is IEventDispatcher); // true
          trace(mySprite is Object);    //true
    }
 
2.as运算符
 
    用来检查变量是否为给定数据类型、类、接口的实例。   
 
例:检查 Sprite 实例是否为 DisplayObject、 IEventDispatcher 的实例。
     var mySprite:Sprite = new Sprite();
     trace(mySprite as Sprite); // [Sprite 对象 ]
     trace(mySprite as DisplayObject); // [Sprite 对象]
     trace(mySprite as IEventDispatcher); // [Sprite 对象]
     trace(mySprite as Number);   // null
   在使用 as 运算符时,右侧的操作数必须是数据类型或类。
 
使用 as 操作符有几个好处:
    1.如果类型不兼容,就会返回null,而不是出错。这样你就可以自定义错误的时候该做什么。
    2.没有运行时错误(Run Time Error)提示。

    不过有些时候使用 as 的时候并不能达到强制转换的目的,而强制转换可以呢。原来在AS3.0类库中最高层类(Top Level classes,所有Top Level classes的列表)之间进行强制转换时, as 操作符是不起作用的。比如,假如你想要将一个String 类型的字符串 str 转换成 Number 类型的数字 num 时,可能想要这样写:

    num = str as Number;

这样写是没有用的,你只能通过第一种方法来达到强制转换的目的:

    num = Number(str);

参考文献
1.http://uh.9ria.com/space-29516-do-blog-id-2973.html
阅读(1731) | 评论(0) | 转发(0) |
0

上一篇:FLEX星类型

下一篇:FLEX循环语句

给主人留下些什么吧!~~