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);
}
4

5 回答 5

3

没有 break 语句,两种情况都会被执行。正如其他人所说,您正在将整数与字符串进行比较。您可以删除案例中的引号。

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);
}
于 2013-10-31T18:27:28.360 回答
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);
}

您在以下 switch 案例中错过了 break 语句... http://jsfiddle.net/yjusC/

于 2013-10-31T18:40:58.537 回答
0

您需要在每个案例结束时休息一下:

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

    case "2":
        wert="O";
        break;
于 2013-10-31T18:28:44.553 回答
0

第一:没有中断,第二:您正在比较不同的类型(int 和 string)。这现在可能没有影响,但一般来说你应该小心。

于 2013-10-31T18:29:06.050 回答
0
case "1": // This is looking for a string. You set playernow equal to an integer value above.
于 2013-10-31T18:30:45.710 回答