2011-09-02 44 views
0

我想用变量的值在switch语句每种情况下,但它似乎没有工作:javascript切换案例中的变量?

switch(key) { 

    case keyNext: 
     //go to next 
     break; 

    case keyPrev: 
     //go to prev 
     break; 
} 

我真正需要的switch语句,因为不像在这个例子中,我有很多不同的情况下, 。

为什么不能正常工作?它的任何解决方法?

编辑:如答案中所述,这是完全有效的。我正在使用一个对象的属性作为每个案例的值,并且它有一个语法问题。

+0

什么是'key'?它是'event.keycode'吗?你的'switch'在语法上是正确的,但你如何将键码映射到'keyNext,keyPrev'?它们是由框架定义的吗? –

+0

您的代码似乎没问题......也许可以添加一些您的案例的代码段,以便我可以帮助更好?既然你有很多的情况,也许你在我看到 – nurxyz

回答

1

您可以使用变量进行检查,请参阅以下示例。你只需要确保它们被声明并赋予一个值。可能需要更多地了解您的工作,看看问题是否在其他地方出现。

Live Demo

var keyNext = 1, // or "1" what have you, 
    keyPrev = 2, 
    key = keyPrev; // or key = 1 

switch(key) { 

    case keyNext: 
     alert('Next'); 
     break; 

    case keyPrev: 
     alert('Prev'); 
     break; 
} 
+0

的地方出现语法错误。那么我的问题就在别的地方。我的变量实际上是一个对象的属性(我试图简化问题,因为我认为它是相同的)。像appname.config.keyNext而不是keyNext。这也应该工作,对吧? –

+0

是应该可以正常工作,请参阅http://jsfiddle.net/loktar/KFCAg/4/ – Loktar