JavaScript if else语句,带有3个条件 [英] JavaScript if else statement with 3 conditions

查看:378
本文介绍了JavaScript if else语句,带有3个条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道为什么这行不通,但我认为可能是因为该语句,或者testRedtestGreen函数相互冲突.如果是这样,请您提出一个更好的方法. 代码:

i don't know why doesn't this work but i think probably because of the statement, Or the testRed and testGreen function conflict with each other. If so, can you please suggest a better way of doing it. Code:

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']

Try using territory[itemNumber] == 'neutral' instead of territory[itemNumber == 'neutral'] in all occurrence in your code

这篇关于JavaScript if else语句,带有3个条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆