actionscript-3 - ActionScript - 在 switch 语句中使用 "is"比较?

标签 actionscript-3 switch-statement

我有许多相同自定义类的对象,还有另一个自定义类的许多对象。我想创建一个 switch 语句来确定对象属于哪个类。以下代码无法编译,所以我不确定这是否可行。是使用 if 语句的唯一替代方法吗?

function mouseClickEventHandler(evt:MouseEvent):void
     {
     switch (evt.currentTarget)
            {
            case (is customClassA):  trace("is instance of customClassA");  break
            case (is customClassB):  trace("is instance of customClassB");
            }
     }

最佳答案

这应该有效:

function mouseClickEventHandler ( evt:MouseEvent ):void
{
    switch ( evt.currentTarget.constructor )
    {
        case CustomClassA:
            trace("is instance of customClassA");
            break;

        case CustomClassB:
            trace("is instance of customClassB");
            break;
    }
}

参见 Object.constructor .

关于actionscript-3 - ActionScript - 在 switch 语句中使用 "is"比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788898/

相关文章:

apache-flex - 在 TextArea 中实现撤消/重做

java - 有没有一种编程语言可以更好地处理 switch 的 break 语句?

c - 开关盒 - 意外行为

actionscript-3 - 您可以在 Flex 3 中为非基于 UIComponent 的对象创建自定义事件吗?

apache-flex - 如何以声明方式将 spark State 的 name 属性设置为字符串变量值

flash - 如何从 swfobject 访问 bgcolor?

c - 如果我不将 case 0 放入 switch 中,为什么我的代码不起作用

java - 使用 java - 在 switch 中使用 if else 语句?

MATLAB:switch 语句问题

actionscript-3 - 在 ActionScript 中,虚拟关键字有什么作用?