2013-06-26 151 views
-3

我在這裏得到語法錯誤,但無法理解爲什麼。 TIA語法錯誤:意外的令牌錯誤

var userChoice = prompt("Do you choose rock, paper or scissors?"); 
var computerChoice = Math.random(); 
console.log(computerChoice); 

if(computerChoice >= 0.33) { 
    computerChoice === "rock"; 
} else if (computerChoice >= 0.34 && <= 0.66){ 
    computerChoice === "paper"; 
} else (computerChoice >= 0.67 && <= 1) { 
    computerChoice === "scissors"; 
} 
+1

什麼是錯誤...控制檯日誌說什麼? – Jarrod

回答

4

嗯,這裏有幾個問題。

句法:

} else (computerChoice >= 0.67 && <= 1) { 

應該

} else if (computerChoice >= 0.67 && computerChoice <= 1) { 

} else { 

但在你的條件塊執行實際上並沒有做任何的東西。你只是測試一些平等的東西,然後忽略測試的結果。

我想象你所追求的是更接近:

var userChoice = prompt("Do you choose rock, paper or scissors?"); 
var computerChoice = Math.random(); 
console.log(computerChoice); 

if (computerChoice <= 0.33) { 
    computerChoice = "rock"; 
} else if (computerChoice >= 0.34 && computerChoice <= 0.66) { 
    computerChoice = "paper"; 
} else { 
    computerChoice = "scissors"; 
} 
1

你缺少一個變量名(computerChoice)你的第二個邏輯比較和else,而不是elseif代碼的最後一部分。另外,您在應該使用賦值的地方使用類型/值比較。

var userChoice = prompt("Do you choose rock, paper or scissors?"); 
var computerChoice = Math.random(); 
console.log(computerChoice); 

if(computerChoice >= 0.33) { 
    computerChoice = "rock"; 
} else if (computerChoice >= 0.34 && computerChoice <= 0.66){ 
    computerChoice = "paper"; 
} else { 
    computerChoice = "scissors"; 
} 
+1

您仍在使用比較而不是分配。 – Mathletics

+0

因爲它似乎只保留選擇的編輯,所以整天都在進行:/謝謝,更正了代碼。 – brezanac