Javascript运行通过所有if语句,无论条件如何

问题描述:

EDIT3:我现在已经完成了大部分工作,但是当我尝试通过它时遇到了错误。会发生什么,它会评估每条if语句,而不管它是否被正确比较。我试图避免使用字符串来使用它 - 但是当我将g,n,b移动到int时:它根本不起作用。Javascript运行通过所有if语句,无论条件如何

<input type='button' class='button' value='Option 1' style="left: 100px" onclick = "choice(g);" /> 
    <input type='button' class='button' value='Option 2' style="center" onclick = "choice(n);" /> 
    <input type='button' class='button' value='Option 3' style="right: 100px" onclick = "choice(b);" /> 

有我的按钮。 这里是我的功能:

var g, n, b; 
    var KarmaScore = 0; //tracks quality of your decisions 
    var QuestionNumber = 1; //tracks when final question, or "Important" decisions are made. 
    var end = 0; //Will be the value of your decision when you make a choice. 

    function choice(move) {  
     //tracks the current question 

     var playermove; 
     playermove = move; 

     if (playermove == g) { 
     alert("Good works"); 
     KarmaScore++; 
     end = 1; 
     } 
      if (playermove == n) { 
      if (KarmaScore>0) { 
      alert("N + works"); 
      KarmaScore--; 
      end = 0; 
       } else { 
        alert("N - works"); 
        KarmaScore++; 
        end = 0; 
       } 
      } 
     if (move == b) { 
     alert("B works"); 
     KarmaScore--; 
     end = 2; 
     } 
    QuestionNumber++; 
    playermove = 0; 
    q.src = "q"+QuestionNumber+".jpg"; 
    alert(KarmaScore) 

} 帮助表示赞赏。 :)

+3

看在浏览器的错误控制台看到错误消息。并缩进您的代码,以便更轻松地看到不匹配的括号。 – JJJ 2014-12-04 11:21:31

+0

我感觉很蠢,它说我的功能没有定义 - 但我无法弄清楚什么或在哪里声明它。 – 2014-12-04 12:53:49

+0

小提琴说“作业中的左手边无效”,与功能无关。你需要在'='(赋值)和'=='(比较)之间做出区别。另请参阅http://stackoverflow.com/questions/5431351/simple-example-doesnt-work-on-jsfiddle – JJJ 2014-12-04 12:55:11

您错过了关闭NeutralChoice()功能与}之后的其他。

您需要初始化变量KarmaScore,并且缺少函数NeutralChoice()的大括号。

var KarmaScore = 0; 
 

 
function GoodChoice() { 
 
    alert("Good works"); 
 
    KarmaScore++; 
 
    QuestionNumber++; 
 
    Question(); 
 
    end = 1; 
 
} 
 

 
function NeutralChoice() { 
 
    if (KarmaScore > 0) { 
 
    alert("N + works"); 
 
    KarmaScore--; 
 
    QuestionNumber++; 
 
    Question(); 
 
    end = 0; 
 
    } else { 
 
    alert("N - works"); 
 
    KarmaScore++; 
 
    QuestionNumber++; 
 
    Question(); 
 
    end = 0; 
 
    } 
 
} 
 

 
function BadChoice() { 
 
    alert("B works"); 
 
    KarmaScore--; 
 
    QuestionNumber++; 
 
    Question(); 
 
    end = 2; 
 
}
<input type='button' class='button' value='Option 1' style="left: 100px" onclick="GoodChoice();" /> 
 
<input type='button' class='button' value='Option 2' style="center" onclick="NeutralChoice();" /> 
 
<input type='button' class='button' value='Option 3' style="right: 100px" onclick="BadChoice();" />

+0

它只是代码的一部分。 KarmaScore初始化。 我加了一个小提琴 – 2014-12-04 12:11:29

+0

@GarrettC。 - 那么你应该在你的代码中包含它。 – 2014-12-04 12:12:24