Apache flex 在Flex/Actionscript中返回匿名getter函数?

Apache flex 在Flex/Actionscript中返回匿名getter函数?,apache-flex,actionscript-3,anonymous-function,Apache Flex,Actionscript 3,Anonymous Function,Getter函数允许使用obj.meth语法而不是obj.meth(),我想创建一个匿名函数从另一个函数返回函数get():对象{}的语法无效。如果可能的话,我不认为Flex提供了获取此功能的简单方法?如果我理解,您想创建一个匿名getter函数吗?为什么?这有什么可能的目的 如果要动态创建属性,可以使用对象或字典: myObject['newProperty'] = something; “newProperty”可以是您想要的任何东西,包括另一个变量 如果我理解,您想创建一个匿名gette

Getter函数允许使用
obj.meth
语法而不是
obj.meth()
,我想创建一个匿名函数从另一个函数返回<代码>函数get():对象{}的语法无效。如果可能的话,我不认为Flex提供了获取此功能的简单方法?

如果我理解,您想创建一个匿名getter函数吗?为什么?这有什么可能的目的

如果要动态创建属性,可以使用对象或字典:

myObject['newProperty'] = something;

“newProperty”可以是您想要的任何东西,包括另一个变量

如果我理解,您想创建一个匿名getter函数吗?为什么?这有什么可能的目的

如果要动态创建属性,可以使用对象或字典:

myObject['newProperty'] = something;

“newProperty”可以是您想要的任何东西,包括另一个变量

您可以通过扩展flash.utils.Proxy来覆盖对象的默认行为

我制作了一个非常简单的在线代码示例@wonderfl.net

我实现了“setAnonymousGetter”来注册匿名getter函数。

在“getProperty”中,如果该属性是匿名getter,则执行“apply”并返回其结果,否则返回该属性的值。

您可以通过扩展flash.utils.Proxy来覆盖对象的默认行为

我制作了一个非常简单的在线代码示例@wonderfl.net

我实现了“setAnonymousGetter”来注册匿名getter函数。

在“getProperty”中,如果属性是匿名getter,则执行“apply”并返回其结果,否则返回属性的值。

因为函数可以做的远不止返回或包含值,而且除非我被欺骗,否则Actionscript的匿名函数是正确的闭包,可以在外部上下文中使用,使它们相当强大。应该有一种动态创建getter函数的方法,因为您可以动态创建普通函数,甚至可以动态地将它们添加到类中。在Python中,您可以通过重载
\uuuu get\uuuu()
来创建描述符对象,虽然AS没有运算符重载,但它不会因此而受到影响。是的,函数可以做的远不止返回值。是的,匿名函数可以用作适当的闭包。但是,get方法不能像常规函数那样调用。必须使用对象属性表示法调用它们。传统方法没有这种局限性。为什么不能使用“常规”匿名函数?为什么你坚持它必须是一个get函数呢?因为函数不仅仅可以返回或包含一个值,而且除非我被欺骗,否则Actionscript的匿名函数是正确的闭包,可以使用外部上下文,使它们相当强大。应该有一种动态创建getter函数的方法,因为您可以动态创建普通函数,甚至可以动态地将它们添加到类中。在Python中,您可以通过重载
\uuuu get\uuuu()
来创建描述符对象,虽然AS没有运算符重载,但它不会因此而受到影响。是的,函数可以做的远不止返回值。是的,匿名函数可以用作适当的闭包。但是,get方法不能像常规函数那样调用。必须使用对象属性表示法调用它们。传统方法没有这种局限性。为什么不能使用“常规”匿名函数?为什么你坚持它必须是一个get函数?非常有创意的方法。但是,这似乎比根据需要添加新属性(如myObject['newProperty'))要做的工作多得多。非常有创意的方法。但是,这似乎比根据需要添加新属性(如myObject['newProperty'))要做的工作多得多。