2013-10-31 2 views
0

이 코드는 무엇이 잘못 되었나요? 나는 여러 번 테스트했지만 어떤 것은 여전히 ​​작동하지 않습니다.자바 스크립트 : 켜기/끄기 스위치

var playernow = 1; //Whose player's turn it is (1 or 2) 

function bobenli(playernow){ 
var wert=""; 
switch (playernow){ 
    case "1": 
     wert="X"; 
     playernow=2; 

    case "2": 
     wert="O"; 
     playernow=1; 
} 
alert(playernow); 
} 
+0

, 당신은 그것을 생산하기 위해 무엇을 기대합니까? 이것들은 당신에게 당신의 질문을 추가하는데 좋은 것들입니다. – Qben

+0

나는 playernow가 모든 요청에 ​​따라 움직일 것으로 기대하며, Wert는 로테이션 "X"와 "O"입니다. –

답변

3

두 경우 모두 실행됩니다. 또한 다른 사람들은 int를 문자열과 비교한다고 말한 바 있습니다. 이 경우 따옴표를 삭제할 수 있습니다.

var playernow = 1; //Welcher Spieler dran ist)(1 oder 2) 

function bobenli(playernow){ 
var wert=""; 
switch (playernow){ 
    case 1: 
     wert="X"; 
     playernow=2; 
     break; 
    case 2: 
     wert="O"; 
     playernow=1; 
     break; 
} 
alert(playernow); 
} 
0

당신은 각각의 경우의 끝에서 휴식을 필요가 없습니다 :

switch (playernow){ 
    case "1": 
     wert="X"; 
     playernow=2; 
     break; 

    case "2": 
     wert="O"; 
     break; 
0

첫째 : 더 휴식을, 둘째 : 당신이 다른 유형 (INT 및 문자열)을 비교하고 있습니다. 이것은 현재 아무런 영향을 미치지 않을 수도 있지만 일반적으로주의해야합니다. 당신이 스위치 케이스는 다음의 break 문을 놓친

0
case "1": // This is looking for a string. You set playernow equal to an integer value above. 
1
 var playernow = 1; //Welcher Spieler dran ist)(1 oder 2) 

function bobenli(playernow){ 
var wert=""; 
switch (playernow){ 
    case "1": 
     wert="X"; 
     playernow=2; 
     break; 
    case "2": 
     wert="O"; 
     playernow=1; 
     break; 
} 
alert(playernow); 
} 

... 작동하지 않는 무엇 http://jsfiddle.net/yjusC/

관련 문제