对象和*之间的区别?

时间:2011-12-03 05:54:02

标签: actionscript-3 flex

在声明变量时应该使用什么:

private var someVar:*;

OR

private var someVar:Object;

两者有什么区别? 是什么让一个人在各种情况下优于其他人?有什么例子吗?

感谢。

2 个答案:

答案 0 :(得分:10)

someVar:*是一个特殊的无类型var,其中包含默认值undefined,而

Object var默认值为null

这是唯一的关键区别。

答案 1 :(得分:9)

来自Adobe Documentation,

private var someVar:*;
private var someVar:Object;
  

在以前版本的ActionScript中,没有类型的变量   注释自动分配了对象数据类型。这不是   在ActionScript 3.0中更长时间,现在包含了a的想法   真正无类型的变量。现在没有类型注释的变量   被认为是无类型的。如果您愿意向读者表明您的想法   代码,你的意图是留下一个变量无类型,你可以使用   类型注释的新星号(*)符号,即   相当于省略了类型注释。以下示例显示   两个等效语句,两者都声明一个无类型变量   X: