2012-12-11 50 views
0

所以這是我試圖運行腳本:初學者腳本中使用開關結構沒有運行

<head> 
<meta http-equiv="content-type" content="text/xml; 
charset=utf-8" /> 
<title>rollDie.html</title> 
<script type = "text/javascript"> 
//<![CDATA[ 
// DiceRomanNumbers 
var die = Math.ceil(Math.random() * 6); 
var output = ""; 
switch(die){ 
case 1: 
    output = "I"; 
    break; 
case 2: 
    output = "II"; 
    break; 
case 3: 
    output = "III"; 
    break; 
case 4: 
    output = "IV"; 
    break; 
case 5: 
    output = "V"; 
    break; 
case 6: 
    output = "VI"; 
    break; 
default: 
    output = "PROBLEM!!!"; 
} // end switch 
</script> 
</head> 
</html> 

然而,當我運行它,什麼也不顯示。應該出現的是帶有羅馬數字1-6的對話框。任何人都可以指出錯誤嗎?我一直在強調爲什麼它現在不會運行一個小時。

+0

我想你錯過了代碼? –

+0

對不起,我編輯它顯示的代碼,我想念 - 縮進編碼。佳能,謝謝你,那就是我錯過的! – user1877731

+1

如果@canon回答了您的問題,請確保將其標記爲答案。 –

回答

3

顯示在哪裏?設置後您沒有對output做任何事情。添加下面的開關後:

alert(output); 

[編輯]:Sample fiddle

0

,因爲你沒有顯示任何代碼永遠不會顯示你的輸出。對於簡單的測試,請添加alert(output);

還要注意,大多數JavaScript switch語句可以用對象字面更好的寫法:

var numerals = { 
    '1': 'I', 
    '2': 'II', 
    '3': 'III', 
    '4': 'IV', 
    '5': 'V', 
    '6': 'VI' 
}; 

alert(numerals[Math.ceil(Math.random() * 6)]); 

看到它在行動here

+0

可能值得修改的是,「用作字典的JavaScript開關語句**可以更好地使用對象文字書寫。」_ – canon