gpt4 book ai didi

actionscript-3 - 为什么Actionscript 不支持重载?

转载 作者:行者123 更新时间:2023-12-03 22:43:33 24 4
gpt4 key购买 nike

Action脚本是基于面向对象编程开发的,为什么不支持函数重载?

Flex 是否支持重载?

如果是,请用真实的例子简要说明。

最佳答案

正如您所说,Action Script 不支持函数重载(因此甚至在 Flex 中也不支持)。

但是这些函数可能有如下默认参数:

public function DoSomething(a:String='', b:SomeObject=null, c:Number=0):void
DoSomething可以通过 4 种不同的方式调用:
DoSomething()
DoSomething('aString')
DoSomething('aString', anObject)
DoSomething('aString', anObject, 123)

这种行为可能是因为 Action Script 遵循 ECMA Script 标准。一个函数确实是对象的一个​​属性,所以,就像你不能有两个同名的属性一样,你也不能有两个同名的函数。 (这只是一个假设)

这是标准 ECMA-262 (ECMAScript 语言规范)在第 13 节(PDF 文件的第 83 页)中说,当你声明一个函数时
function Identifier(arg0, arg1) {
// body
}

创建名称为 Identifier 的当前变量对象的属性和 value 等于这样创建的 Function 对象:
new Function(arg0, arg1, body)

所以,这就是你不能重载函数的原因,因为你 不能有多个同名的当前变量对象的属性

关于actionscript-3 - 为什么Actionscript 不支持重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1791714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com