2013-10-31 204 views
0

这段代码有什么问题?我已经测试了很多次,但仍然无法正常工作。Javascript:打开/关闭开关

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

没有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); 
} 
0

您在各种情况下的最后需要休息:

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

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

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

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

你错过了以下开关罩break语句... http://jsfiddle.net/yjusC/