2013-02-17 176 views
1

我有一些JavaScript代碼根據Ajax請求的響應對象中的各種因素創建不同的消息。例如與字符串比較

if (response.correct_guess === true){ 
    message = "your guess was correct 
} 

如果用戶贏得這場比賽,「獲得」鍵設置爲「贏」

won: "won" 

,因此我希望設置郵件這樣

else if(response.won === "won") { 
      message = "You finished with" + response.seconds + "left on the clock." 

然而,這種「否則,如果」不獲取觸發

我也試過「==」(即兩個等號,而不是三個)。你能解釋我做錯了什麼嗎?

+1

正確的獲勝和猜測在你的代碼中是相互排斥的,這不是你想要的。猜測正確導致獲勝。 – 2013-02-17 05:19:40

+1

哎呀,我很感謝。 – Leahcim 2013-02-17 05:21:22

回答

0

你的代碼的意思是:

if (response.correct_guess === true){ 
    message = "your guess was correct 

}else if(response.won === "won") { 
     message = "You finished with" + response.seconds + "left on the clock." 
} 

如果的猜測是正確的,message = "your guess was correct,僅此而已。如果猜測不正確,並且用戶贏了,那麼你忘記了如果控制進入第一個if,它將永遠不會到達第二個else。如果這個猜測是不正確的,那麼你忘記了如果控制進入第一個if,它將永遠不會到達第二個else。在if-elseif鏈中,第一個if/elseif塊控件進入的是其將進入的一個只有。我不認爲你想要那樣。你可能想要:

if (response.correct_guess === true){ 
    message = "your guess was correct 

} 
if(response.won === "won") { 
     message = "You finished with" + response.seconds + "left on the clock." 
}