Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何在actionscript 3中声明可以是任意数据类型的参数?_Actionscript 3_Apache Flex_Flex3 - Fatal编程技术网

Actionscript 3 如何在actionscript 3中声明可以是任意数据类型的参数?

Actionscript 3 如何在actionscript 3中声明可以是任意数据类型的参数?,actionscript-3,apache-flex,flex3,Actionscript 3,Apache Flex,Flex3,尽管这样做有效: public function func(settings) { } 它报告了一个警告,那么标准的方法是什么呢?您可以使用*或Object: public function foo(bar:*):void{ } public function foo(bar:Object):void{ } * 您可以使用*或对象: public function foo(bar:*):void{ } public function foo(bar:Object)

尽管这样做有效:

    public function func(settings)
    {
    }

它报告了一个警告,那么标准的方法是什么呢?

您可以使用*或Object:

public function foo(bar:*):void{
}

public function foo(bar:Object):void{
}
*
您可以使用*或对象:

public function foo(bar:*):void{
}

public function foo(bar:Object):void{
}
*

您应该明确指定返回类型和参数类。这使您的代码更快,并且在6个月内更容易阅读

这就是:

public function saveSettings(settings:Array):void
{
}

或者什么才是调用函数的合适方法:)但不要只称它为func。。正确命名:)

您应该明确指定返回类型和参数类。这使您的代码更快,并且在6个月内更容易阅读

这就是:

public function saveSettings(settings:Array):void
{
}
或者什么才是调用函数的合适方法:)但不要只称它为func。。正确命名:)

将其键入“*”或对象数据类型将起作用-但这并不理想。可能有某种方法可以指定正确的数据类型

一个答案是将输入输入到所有可能输入中最具体的公共祖先-例如,如果您知道它将是一个DisplayObject,但有时它将是一个Loader,有时它将是一个Sprite,只需将其输入到DisplayObject,因为Loader和Sprite在技术上都是DisplayObject

另一种方法可能更“正确”,即将其键入接口。您的对象可以实现该接口,然后您就一切就绪了

如果您使用“*”或对象,那么您将放弃在该点进行调试的所有功能。理想情况下,您希望确切地知道存在哪些对象以及它们在应用程序生命周期中的位置。每次你把某样东西当作你要放弃的东西,你说的是“然后它进入这个隧道消失了”,可以这么说。这是最好避免的事情,尤其是对于那些必须由其他人维护的大型项目。

将其键入“*”或对象数据类型将起作用-但这确实不理想。可能有某种方法可以指定正确的数据类型

一个答案是将输入输入到所有可能输入中最具体的公共祖先-例如,如果您知道它将是一个DisplayObject,但有时它将是一个Loader,有时它将是一个Sprite,只需将其输入到DisplayObject,因为Loader和Sprite在技术上都是DisplayObject

另一种方法可能更“正确”,即将其键入接口。您的对象可以实现该接口,然后您就一切就绪了

如果您使用“*”或对象,那么您将放弃在该点进行调试的所有功能。理想情况下,您希望确切地知道存在哪些对象以及它们在应用程序生命周期中的位置。每次你把某样东西当作你要放弃的东西,你说的是“然后它进入这个隧道消失了”,可以这么说。这是最好避免的事情,尤其是对于那些必须由其他人维护的大型项目