switch语句的正确格式如下:
我正在用HTML / JS / CSS创建一个小游戏进行练习,并用<tr></tr
和<td></td>
创建了一个100平方的棋盘游戏。
[我的棋盘上有两名球员,每回合,我检查两名球员周围的方格,看是否在该方格上有武器或一名玩家。
但是要检查广场上是否有玩家,我需要先检查广场是否存在。这就是为什么我使用很多switch case语句的原因:
。情况显然是“假”,但开关箱不起作用。switch (true) { case (squareAround != undefined): //I check if a square around is not undefined switch (true) { //if the square exists, let's check if there is a player on it case (playerOnIt === true): //start the fight if there is a player on it } }
这当然是简化版本。
break
和default
语句不在此处。问题是,有时正方形是“未定义的”,并且程序没有按照我的意愿进行下一步。但是另一些时候,检测到正方形为“未定义”,但程序仍继续运行
我使用了控制台,在this exemple无效的地方:在前两种情况下,正方形存在,然后向我展示了两个HTML元素。
但是在第三种情况下,它是错误的,但是switch的情况无论如何都可以工作,并且走得更远,并且给了我HTML元素……这是“未定义”!
可能会出什么问题?
感谢您的帮助
编辑:这是一些原始代码,请回答某人的问题。但是我不知道它是否可以帮助:
switch (true) {
case ($('td')[numberCasePlayer + i + l] != undefined):
switch (true) {
case ($('td')[numberCasePlayer + i + l].getAttribute('playeronit') === playeronitCheck):
fight()
break
}
case ($('td')[numberCasePlayer + i + m] != undefined):
switch (true) {
case ($('td')[numberCasePlayer + i + m].getAttribute('playeronit') === playeronitCheck):
fight()
break
}
case ($('td')[numberCasePlayer + i + n] != undefined):
switch (true) {
case ($('td')[numberCasePlayer + i + n].getAttribute('playeronit') === playeronitCheck):
fight()
break
}
case ($('td')[numberCasePlayer + i].getAttribute('weapon') === 'true'):
$('#' + $('td')[numberCasePlayer + i].getAttribute('weapontype')).css('display', 'none')
}
break
我正在用HTML / JS / CSS创建一个小游戏进行练习,并使用
switch语句的正确格式如下:
switch(someVariable) {
case value1: doSomething; break;
case value2: doSomething; break;
case value3: doSomething; break;
...
default: doSomething;
}
如果仅使用if
语句,这很简单。
if(squareAround) {
if(playerOnIt) {
//start the fight if there is a player on it
}
}
switch语句的正确格式如下: