在Flex中,我可以指定*
作为数据类型。
它是什么以及我应该如何使用它。
我编写了一个inArray()
方法,该方法将搜索和搜索内容作为参数。“要搜索的内容”看起来像是*
数据类型的一个很好的候选者。 / p>
我不应该使用它吗?
谢谢。
答案 0 :(得分:2)
*是AS3,因为Object是Java。请参阅以下内容:
http://livedocs.adobe.com/flex/3/html/help.html?content=03_Language_and_Syntax_11.html
答案 1 :(得分:2)
*
表示无类型标识符。当您无法保证对象的类型符合任何特定的类或接口定义时,您将使用它。
示例中*
是否合适取决于您在搜索中使用的操作。如果你只是依赖于共同的平等操作,你应该没事,事实上它可能是最好的选择。
答案 2 :(得分:2)
*
实际明确地说,某些东西没有类型。实际上它是默认类型,所有无类型变量或函数都可以回归。
它基本上告诉编译器:“我不希望你对此执行任何类型检查,因为这只是在运行时处理”。
实际上*
没有类型。没有相应的价值。
请注意,只有*
类型的表达式才能返回undefined
的值。任何类型为Object
的东西(即任何类型不同于无类型的东西)都只能保留null
。
您将看到许多Array
方法使用该类型。具体而言,因为Array
元素属于无类型,因此可以是undefined
。
因此,我认为根据您的参数是键入*
还是Object
(或者您是否使用严格比较),您可能会有轻微的性能差异。
就个人而言,我建议您在这种情况下使用*
,主要是因为它与Array
方法一致。
答案 3 :(得分:1)
启用严格的编译模式时必须使用*。它只是'没有类型',它将在运行时进行检查。