前提・実現したいこと
JavaScriptで簡単なクイズアプリを製作しています。
scoreに応じてif文で分岐されたconsole.logのコメントが出るようにしたいのですが、うまく行きません。
発生している問題・エラーメッセージ
scoreが0でも1でも2でも3でも console.log('3点:すばらしい!'); が実行されてしまう。
該当のソースコード
JavaScript
1 2 let score = 0; 3 let score1 = 0; 4 let score2 = 0; 5 let score3 = 0; 6 7 function answerQuiz1(){ 8 const quiz_1 = document.getElementById('quiz-1'); 9 const value1 = quiz_1.answer.value; 10 11 switch (value1) { 12 case 'a': 13 score1 = 0; 14 console.log('不正解です。') 15 break; 16 case 'b': 17 score1 = 1; 18 console.log('正解です。') 19 break; 20 case 'c': 21 score1 = 0; 22 console.log('不正解です。') 23 break; 24 } 25 26 } 27 28 function answerQuiz2(){ 29 const quiz_2 = document.getElementById('quiz-2'); 30 const value2 = quiz_2.answer.value; 31 32 switch (value2) { 33 case 'a': 34 score2 = 1; 35 console.log('正解です。') 36 break; 37 case 'b': 38 score2 = 0; 39 console.log('不正解です。') 40 break; 41 case 'c': 42 score2 = 0; 43 console.log('不正解です。') 44 break; 45 } 46 47 } 48 49 function answerQuiz3(){ 50 const quiz_3 = document.getElementById('quiz-3'); 51 const value3 = quiz_3.answer.value; 52 53 switch (value3) { 54 case 'a': 55 score3 = 0; 56 console.log('不正解です。') 57 break; 58 case 'b': 59 score3 = 0; 60 console.log('不正解です。') 61 break; 62 case 'c': 63 score3 = 1; 64 console.log('正解です。') 65 break; 66 } 67 } 68 69 function showScore(){ 70 score = score1 + score2 + score3; 71 document.getElementById('score-message').innerHTML = score; 72 73 if (score = 3) { 74 console.log('3点:すばらしい!'); 75 } else if (score = 2) { 76 console.log('2点;おしい!'); 77 } else if (score = 1) { 78 console.log('1点;まあまあ'); 79 } else { 80 console.log('0点;残念'); 81 } 82 }
試したこと
scoreの計算方法を変えたりしましたが変化なし・・・どこをどういじればいいのかもわかりません;
補足情報(FW/ツールのバージョンなど)
JavaScript
HTML
CSS
ATOM
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/27 08:09