as3中的*return类型是什么

Omu*_*Omu 3 apache-flex adobe actionscript-3

我在Action脚本中看到一个返回类型为*的方法

public function f(s:String):*
Run Code Online (Sandbox Code Playgroud)

这[*]是什么意思?

Joa*_*ert 8

答案不是100%正确.没有"无类型",*和Object之间只有很小的区别,因为有人可能认为Object也意味着无类型,因为每个类型都从Object扩展.但是*表示未定义的值而对象不表示.一个很大的区别!这对动态语言很有用,因为这意味着Object的属性可以是undefined,它与defined和null不同.

因此,例如y在{x:null}中未定义,并且x已定义但没有值.你可以利用它:

var yesNoMaybe: *;

yesNoMaybe = true;
yesNoMaybe = false;
yesNoMaybe = undefined;
Run Code Online (Sandbox Code Playgroud)


has*_*seg 7

*符号表示"无类型",这意味着该类型可以是任何东西(并且该值可以是undefined).使用星号与根本不指定类型具有相同的效果,但使用它以明确您的意图是很好的形式.有关详细信息,请参阅语言参考.