2016-06-29 9 views
-1

私は岩、紙をやっている、CodeCademy上のJavaScriptクラスはさみ、私は入れません、モジュールの一つにこだわってにSyntaxError:予期しないトークン{

「にSyntaxError:予期しないトークンを{」

本当に変だ!すべての中括弧({})を削除しない限り、プロンプトは実行されません。ただし、if/else if/else文に中括弧が必要です。

最初に{を削除すると、エラーメッセージが表示されます。 "SyntaxError:予期しないトークン}"。だからそれはちょうどラインの次の中括弧に気づいた。

var userChoice = prompt("Do you choose rock, paper or scissors?"); 

var computerChoice = Math.random(); 

//All curly brackets are below this point 

if (computerChoice >0, computerChoice <= .33) { 
    computerChoice = rock; 
} else if (computerChoice > .33, computerChoice < .66) { 
    computerChoice = paper; 
} else (computerChoice => .66, computerChoice <= 1) { 
    computerChoice = scissors; 
} 
+1

エラーを生成するコード行を見てください。 – AD7six

+0

無関係:私はあなたの条件が期待通りに機能することを強く強く疑う。最後のものだけが実際に "使用"されています –

+1

* if/else if/elseステートメントに中括弧が必要です*実際はそうしません。また、好奇心が強いですが、この構文 'if(condition1、condition2)'は、どこかでそれを学んだのですか、それともちょうど推測しましたか?いつも '> 0 'をチェックしていますか?次の条件で、なぜあなたはそれが既に分かっているのか、 '> 0.33'をチェックしていますか?どうしてあなたは明らかにいつも '<= 1'をチェックしていますか? –

答えて

3

カンマを使用しないで、別の条件を使用しないでください。&&を使用してください。また、最後のelse ifの代わりに、不要なので条件付きを完全に削除してください(Math.random()は1を超えません)。最後に、rockpaper、およびscissorsが別の場所で定義されていない限り、あなたはそれらの文字列にする必要があります。

var userChoice = prompt("Do you choose rock, paper or scissors?"); 

var computerChoice = Math.random(); 

//All curly brackets are below this point 

if (computerChoice <= .33) { 
    computerChoice = "rock"; 
} else if (computerChoice < .66) { 
    computerChoice = "paper"; 
} else { 
    computerChoice = "scissors"; 
} 
+0

コードを修正している限り、不要な '> .33'チェックを削除してみませんか? –

+0

@torazaburo本当に、それをキャッチするためにありがとう –

+0

@ A.J。私がやろうとしていたことの正しいバージョンを実演してくれてありがとう、私はまた、私の岩、紙、そしてはさみの弦の周りにいくつかの "引用符"を投じなければなりません。 –

3

あなたが最後else if句でifを逃している:

は、ここに私のコードです。 (この場合にはAJが正しく指摘してますが、それ以上の比較は必要ありません。あなたはその最後elseにそれを作る場合は、その状態が保持している。)

はまた、比較のペアが&&ないカンマで区切る必要があり。

else (computerChoice => .66, computerChoice <= 1) { 

括弧で囲まれた式は、単純な表現文として扱われます。この中

。構文エラーは、セミコロンが続かず、ぶら下がった{がパーサに意味をなさないために発生します。

2

あなたは,が、条件演算子とを使用して条件を結合していません。また、elseステートメントの条件を追加することもできません。以下を使用してください:

var userChoice = prompt("Do you choose rock, paper or scissors?"); 

var computerChoice = Math.random(); 

//All curly brackets are below this point 

if (computerChoice >0 && computerChoice <= .33) { 
    computerChoice = rock; 
} else if (computerChoice > .33 && computerChoice < .66) { 
    computerChoice = paper; 
} else { 
    computerChoice = scissors; 
} 
1

あなた自身を精神的な苦痛から救うために、三項演算子を使用してください。

computerChoice = computerChoice < 1/3 ? rock : computerChoice < 2/3 ? paper : scissors; 
+0

私は3者をもっと使う必要があります –

+0

@ torazaburo鋭い編集と簡単なソリューションをありがとう。 –

関連する問題