2011-09-02 79 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