加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

(20120710)flex中的undefined类型

发布时间:2020-12-15 04:55:37 所属栏目:百科 来源:网络整理
导读:1、一个适用于尚未初始化的无类型变量或未初始化的动态对象属性的特殊值。在 ActionScript 3.0 中,只有无类型变量才能采用值? undefined ,这在 ActionScript 1.0 和 ActionScript 2.0 中并非如此。例如,以下两个变量都是 undefined ,因为它们都未类型化

1、一个适用于尚未初始化的无类型变量或未初始化的动态对象属性的特殊值。在 ActionScript 3.0 中,只有无类型变量才能采用值?undefined,这在 ActionScript 1.0 和 ActionScript 2.0 中并非如此。例如,以下两个变量都是undefined,因为它们都未类型化或初始化:

?

Actionscript代码??

收藏代码

  1. var?foo;???
  2. ??
  3. var?bar:*;???

undefined?值还适用于动态对象的未初始化或未定义的属性。例如,如果某对象是 Object 类的一个实例,则除非向该属性赋予值,否则动态添加的任何属性的值将为?undefined

将?undefined?用于不同的函数时,结果也不相同:

  • 由?String(undefined)?返回的值为?"undefined"undefined?转换为字符串)。
  • 由?Number(undefined)?返回的值为?NaN
  • 由?int(undefined)?和?uint(undefined)?返回的值为 0。
  • 由?Object(undefined)?返回的值为新的 Object 实例。
  • 向类型变量赋予值?undefined?时,该值将转换为该数据类型的默认值。

不要混淆?undefined?和?null使用等于运算符 (==) 对?null?和?undefined?进行比较时,它们的比较结果为相等。但是,使用全等运算符 (===) 对?undefined?进行比较时,它们的比较结果为不相等

?

在以下示例中,将声明(但不初始化)一个无类型变量?myVarmyVar?的值为?undefined,因为该变量是一个无类型变量。无论变量是没有类型注释,还是使用特殊的 (*) 无类型注释 (var myVar:*;),都是如此。

?

Actionscript代码??

收藏代码

    //?trace?value?of?untyped?and?uninitialized?variable??
  1. var?myVar;??
  2. trace(myVar);?//?undefined??

?

该规则同样适用于动态对象的未初始化属性。例如,给定实例?obj(属于动态类?A),obj.propNameobj?实例的未初始化属性)的值为?undefined

?

dynamic?class?A?{}??
  • var?obj:A?=?new?A()??
  • ??
  • //?trace?undefined?property?of?obj??
  • trace(obj.propName);?//?undefined??
  • ?

    2、判断undefined的问题

    ?

    上面的介绍中已经介绍了几种,即通过类型转换再进行判断,还有一种方法:

    ?

    ?

    Actionscript代码??

    收藏代码

      //arr?is?a?undefined?attribute?of?obj??
    1. if(obj.arr) ?


    转载自:http://dudong0726.iteye.com/blog/1296195

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读