2014-03-18 68 views
0
var x = prompt("number between 50 and 100"); 

if (x.match(/hi/)) { 
    alert("cool"); 
} else { 
    alert("neni cool"); 
} else if (x==50 || x==100) { 
    alert("skevele"); 
} else { 
    alert("nic"); 
} 

任何人都可以解釋爲什麼如果不工作?感謝您的回答。多個if-else不起作用

+0

你給提示添加了什麼,你期待什麼? – Andy

+0

那麼,如果我鍵入它的話它應該警告酷/ neni酷(它取決於它是否匹配「嗨」),如果我鍵入數字它應該警惕skvele或nic。 – user3424358

+1

請打開瀏覽器的開發人員控制檯,以便閱讀收到的錯誤消息。 –

回答

1

您在else後面加else ifelse if將不會被正確評估,因爲else結束if語句。如果你想讓兩個語句都能正常工作,那麼試試:

f (x.match(/hi/)) { 
    alert("cool"); 
} else { 
    alert("neni cool"); 
} 

if (x==50 || x==100) { 
    alert("skevele"); 
} else { 
    alert("nic"); 
} 
+0

謝謝,在開始時使用if(isNaN(x)),並且它在其他情況下甚至可以與if一起工作。 – user3424358

2

你不能像那樣堆疊它們。 }else{語句只是if/then/else語句中的最後一種情況,因爲只有在其他情況下才會這樣做。

if(condition){ 
    what to do 
}else if(condition 2){ 
    what to do if the first condition was not met 
}else{ 
    if all else fails 
} 
+0

謝謝,但這個工程並沒有其他人,如果: 如果(isNaN(X)){ 如果(x.match(/ ahoj /)){警報( 「酷」);}其他{警報(」 neni cool「);}} else if(x == 50 || x == 100){alert(」skvele「);} else {alert(」neni skvele「);} – user3424358