有什么方法可以将函数作为字符串调用吗?

时间:2016-09-22 04:28:24

标签: actionscript-3 flash actionscript flash-cs6

我刚开始一个项目,我想知道你是否可以通过一个字符串调用一个函数(在事件监听器中)。

import flash.utils.Timer;
import flash.events.Event;
import flash.events.TimerEvent;

var threesec:Timer=new Timer(3000, 1);
var whaton:String="tsecc"
threesec.start();
threesec.addEventListener(TimerEvent.TIMER_COMPLETE, whaton);
function tsecc(tsecc:TimerEvent):void{
    trace("Hello")
    threesec.reset();
    threesec.start();
}

由于这一行,这不起作用:

threesec.addEventListener(TimerEvent.TIMER_COMPLETE, whaton);

和此错误代码:

1067: Implicit coercion of a value of type String to an unrelated type Function.

我知道我在做什么是非常错误的,但有没有正确的方法以字符串格式调用函数?

我是否必须向变量添加属性,是否必须创建另一种类型的变量?

1 个答案:

答案 0 :(得分:4)

threesec.addEventListener(TimerEvent.TIMER_COMPLETE, this[whaton]);  

我使用"括号语法"去做这个。您可以通过在互联网上搜索来了解有关它的更多信息。