Airicon.pngAIR 51.0.0.2已于2024/02/23发布!

全站通知:

undefined

阅读

    

2022-09-17更新

    

最新编辑:--小小晓痴--

阅读:

  

更新日期:2022-09-17

  

最新编辑:--小小晓痴--

来自ActionScript 3.0WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
晓痴Developer

undefined常量
public const undefined:*
语言版本:ActionScript 3.0

运行时版本:AIR 1.0, Flash Player 9
目 录

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

  • var foo;
  • 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 进行比较时,它们的比较结果为相等。但是,使用 strict equality (===) 运算符对 null 和 undefined 进行比较时,它们的比较结果为不相等。
示例
在以下示例中,将声明(但不初始化)一个无类型变量 myVar。myVar 的值为 undefined,因为该变量是一个无类型变量。无论变量是没有类型注释,还是使用特殊的 (*) 无类型注释 (var myVar:*;),都是如此。

// trace value of untyped and uninitialized variable
var myVar;
trace(myVar); // undefined

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

dynamic class A {}
var obj:A = new A()

// trace undefined property of obj
trace(obj.propName); // undefined

本页面部分内容来自Adobe ActionScript 3.0 API参考[1]