ActionScript 中的无类型变量

来源:互联网 发布:非诚勿扰 秦奋 知乎 编辑:程序博客网 时间:2024/05/27 08:13
var x var x:*

上面的示例演示两条等效的语句,两者都声明一个无类型变量 x。

在早期的 ActionScript 版本中,会自动为没有类型注释的变量赋予 Object 数据类型。ActionScript 3.0 现在包括真正无类型变量这一概念,因此不再为没有类型注释的变量赋予 Object 数据类型。没有类型注释的变量现在被视为无类型变量。如果您希望向代码的读者清楚地表明您是故意将变量保留为无类型,可以使用新的星号 (*) 表示类型注释,这与省略类型注释等效。

只有无类型变量才能保存值 undefined。如果您尝试将值 undefined 赋给具有数据类型的变量,则 Flash Player 或 Adobe AIR 会将值 undefined 转换为该数据类型的默认值。对于 Object 数据类型的实例,默认值是 null,这意味着,如果尝试将 undefined 赋给 Object 实例,则 Flash Player 或 Adobe AIR 会将值 undefined 转换为 null。