2014-05-10 2 views
-2

if 문을 다른 if 문 내에 넣으려고합니다. 수정하기가 쉬운 일을했다고 생각하지만 그 내용이나 위치를 파악할 수 없습니다. 나는 이것에 붙어있어 어떤 제안이라도 도움이 될 것이다. 감사!Javascript if if 또 다른 if 문 내에서

else if(a === 'ab'){ 
     var i = 1 
     for(i = 1; i <= 2; i++;){ 
      xvalue++; 
    } 

당신은 else if 블록을 개방하고, 내부, 당신은 for 블록을 열고 있지만 가까운 하나

var player = 0; 
var xvalue = 0; 
var ovalue = 0; 
function tic(a) 
{ 
    if(player === 0) 
    { 
     document.getElementById(a).value = 'X'; 
     document.getElementById(a).disabled = 'true'; 
     player = 1; 
     if(a === 'aa') 
     { 
      var i = 1 
      for(i = 1; i <= 1; i++;) 
      { 
       xvalue++; 
      } 
     } 
     else if(a === 'ab') 
     { 
      var i = 1 
      for(i = 1; i <= 2; i++;) 
      { 
       xvalue++; 
      } 
      else if(a === 'ac') 
      { 
       var i = 1 
       for(i = 1; i <= 4; i++;) 
       { 
        xvalue++; 
       } 
       else if(a === 'ba') 
       { 
        var i = 1 
        for(i = 1; i <= 8; i++;) 
        { 
         xvalue++; 
        } 
        else if(a === 'bb') 
        { 
         var i = 1 
         for(i = 1; i <= 16; i++;) 
         { 
          xvalue++; 
         } 
         else if(a === 'bc') 
         { 
          var i = 1 
          for(i = 1; i <= 32; i++;) 
          { 
           xvalue++; 
          } 
          else if(a === 'ca') 
          { 
           var i = 1 
           for(i = 1; i <= 64; i++;) 
           { 
            xvalue++; 
           } 
           else if(a === 'cb') 
           { 
            var i = 1 
            for(i = 1; i <= 128; i++;) 
            { 
             xvalue++; 
            } 
            else if(a === 'cc') 
            { 
             var i = 1 
             for(i = 1; i <= 256; i++;) 
             { 
              xvalue++; 
             } 
             if(xvalue === 448) 
             { 
              alert("player 1 wins!"); 
             } 
             else if(xvalue === 7) 
             { 
              alert("player 1 wins!"); 
             } 
             else if(xvalue === 56) 
             { 
              alert("player 1 wins!"); 
             } 
             else if(xvalue === 273) 
             { 
              alert("player 1 wins!"); 
             } 
             else if(xvalue === 84) 
             { 
              alert("player 1 wins!"); 
             } 
             else if(xvalue === 73) 
             { 
              alert("player 1 wins!"); 
             } 
             else if(xvalue === 146) 
             { 
              alert("player 1 wins!"); 
             } 
             else if(xvalue === 292) 
             { 
              alert("player 1 wins!"); 
             } 
            } 
            else 
            { 
             document.getElementById(a).value = 'O'; 
             document.getElementById(a).disabled = 'true'; 
             player = 0; 
            } 
           } 
+0

죄송합니다. 그러나 그 질문이 실제로 무엇인지 보지 않습니까? –

+0

... aaaaand 문제는 정확히 무엇입니까? – deceze

+0

tic-function으로 전달하는 console.log는 무엇입니까? – k0pernikus

답변

1

귀하의 코드는 구문 오류로 가득 차있다. 중첩 시키려면

else if(a === 'ab'){ 
     var i = 1 
     for(i = 1; i <= 2; i++;){ 
      xvalue++; 
     }//<-- close for loops 
    }// then close else if block 

if 's의 매우 간단합니다, 당신은 제대로 일을 할 것, 그러나 외부 & 내부 IFS를 결합 할 수 있다면 아마 당신은 요구했다 : 그것은 있었어요한다. 이 경우 : 예 :

if (player === 0 && a === 'aaa') 

완벽하게 작동합니다.
솔직히 말하면 실제로 좀 더 연습해야합니다 : JS 전역 변수는 피해야합니다 : 함수는 매개 변수를 전달해야합니다.

+0

모든 루프와 if 문은 내부에 한 줄만 있기 때문에 대괄호는 생략 할 수 있습니다. 대부분의 경우 = 줄이 작습니다. –

+3

@ NicolaiDitlevKroghKrüger : 그게 다 좋고 좋지만 OP는 분명히 기본을 배우고 있습니다. 그 중괄호를 쓰는 것이 좋은 습관이라고 말하고 싶습니다. 'goto fail;'버그를 기억해? –

+0

@EliasVanOotegem 우선 감사의 말을 전하지만, 귀하의 제안을 시도 할 때 콘솔은 "tic"기능이 정의되지 않았다고 말했습니다. 그 대답이 있습니까? – user2059810