对象和*之间的区别?

M.D*_*.D. 5 apache-flex actionscript-3

声明变量时应该使用的内容如下:

private var someVar:*;
Run Code Online (Sandbox Code Playgroud)

要么

private var someVar:Object;
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Ben*_*nny 10

someVar:*是保存默认值的特殊类型化的变种undefined,而

Objectvar默认值是null.

这是唯一的关键区别.


sgo*_*les 9

Adobe文档中,

private var someVar:*;
private var someVar:Object;
Run Code Online (Sandbox Code Playgroud)

在以前版本的ActionScript中,没有类型注释的变量会自动分配Object数据类型.在ActionScript 3.0中已不再适用,现在它包含了一个真正无类型变量的概念.没有类型注释的变量现在被认为是无类型的.如果您希望向代码的读者明确表示您打算将变量保持为无类型,则可以对类型注释使用新的星号(*)符号,这相当于省略类型注释.以下示例显示了两个等效语句,这两个语句都声明了一个无类型变量x: