IF语句中的变量不变

Ald*_*tec 0 javascript

我是JS的初学者,所以我遇到了这个问题.

我有一个名为morale的变量,它根据一些数学进行更新.这工作得很好.我现在要做的事情基本上是记录最高数量的士气,这样我可以根据最大士气做一些数学.即使士气低落,max_morale也没有改变.我认为这段代码应该可以正常工作,但事实并非如此.我确实有<span id="max_morale">0</span>我的HTML.请帮忙!

var morale = 0;
var max_morale = 0;
var money = 0;

function increment(number){
    money = money + number;
    document.getElementById("money").innerHTML = addCommas(money);
};


function moraleCalc(){
    morale = Math.floor(money * 0.0009)+"%";
    document.getElementById('morale').innerHTML = morale;
        if(morale > max_morale){
        max_morale = morale;
        document.getElementById('max_morale').innerHTML = max_morale;
    };    
};

window.setInterval(function(){
    moraleCalc();
}, 1000);
Run Code Online (Sandbox Code Playgroud)

Rei*_*ard 5

士气是一个字符串值,因为你追加"%",而不是数字.

您正在将字符串与Integer进行比较.