带有3个条件的JavaScript if-else语句

JavaScript if else statement with 3 conditions

本文关键字:if-else 语句 JavaScript 3个 条件 带有      更新时间:2023-10-05

我不知道为什么不起作用,但我认为可能是因为语句的原因,或者testRedtestGreen函数相互冲突。如果是的话,你能提出一个更好的方法吗。代码:

var greenSoldier = 5;
var redSoldier = 5;
var territory = ['green', 'green', 'neutral', 'neutral', 'green', 'neutral', 'neutral', 'neutral', 'neutral', 'neutral', 'neutral', 'red', 'neutral', 'neutral', 'red', 'red'];
var soldier = [4, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 4];
var turn = 'green';
function testGreen(itemNumber, soldiers, itemName) {
    if (greenSoldier > 0 && territory[itemNumber] == 'green') {
        var unchanged = soldier[itemNumber];
        var changed = unchanged + 1;
        soldier[itemNumber] = changed;
        $(itemName).html(soldier[itemNumber]);
        greenSoldier -= 1;
        console.log(greenSoldier);
    } else if (greenSoldier > 0 && territory[itemNumber == 'neutral'] && turn == 'green') {
        soldier[itemNumber] += 1;
        console.log(soldier[itemNumber]);
        $(itemName).html(soldier[itemNumber]);
        greenSoldier -= 1;
        console.log(greenSoldier);
    }
}
function testRed(itemNumber, soldiers, itemName) {
    if (redSoldier > 0 && territory[itemNumber] == 'red') {
        var unchanged = soldier[itemNumber];
        var changed = unchanged + 1;
        soldier[itemNumber] = changed;
        $(itemName).html(soldier[itemNumber]);
        redSoldier -= 1;
        console.log(redSoldier);
    } else if (redSoldier > 0 && territory[itemNumber == 'neutral'] && turn == 'red') {
        soldier[itemNumber] += 1;
        $(itemName).html(soldier[itemNumber]);
        redSoldier -= 1;
        console.log(redSoldier);
    }
}
$('#item4').click(
function () {
    testGreen(3, soldier[3], '#item4');
    testRed(3, soldier[3], '#item4');
})

尝试在代码中的所有出现中使用territory[itemNumber] == 'neutral'而不是territory[itemNumber == 'neutral']

else if (redSoldier > 0 && territory[itemNumber == 'neutral'] && turn == 'red')

你的数组访问搞砸了。

else if (redSoldier > 0 && territory[itemNumber] == 'neutral' && turn == 'red')

确保您的jquery安装正确。在javaScript中,可以通过以下方式声明数组:

var士兵=新数组(4,2,0,2,0,0,0,0,0,10,0,0,2,0,2,2,2,2,4);

然后在testGreen/testRed函数中,尝试将您的士兵参数视为一个数组:

功能测试红色(项目编号,士兵,项目名称)

//在此处执行操作。

}