如果运算结果 < 100,则 JavaScript 仅进行 运行 运算

JavaScript only run operation if the operation result is < 100

如何在 JavaScript 操作中 运行,仅当操作结果 < 100 时,例如。

我尝试了下面的代码,但是 += 操作执行了两次,但我只希望它在 if 语句之后执行。

let progress = 0

function earn(howmuch) {
    if (progress += howmuch < 100) {
        console.log(progress) // console.logs 1
        progress += howmuch
        console.log(progress) // console.logs 2
    }
}

document.querySelector('.click-area').addEventListener('click', function() {
    earn(1)
}

感谢帮助

+= 是作业。

在您的情况下,增加发生在条件检查和 if 内部。

你应该把条件中的+=改成+,这样数值就不会改变,只是临时计算出来的

您必须在条件之外计算变量,以便根据需要进行比较。

这里有一个例子:

let progress = 0;

function earn(howmuch) {
    let new_progress = progress + howmuch;
    if (new_progress < 100) { // Here you had the problem
        progress = new_progress;
        console.log(progress); // console.logs 1
    }
}

document.querySelector('.click-area').addEventListener('click', function() {
    earn(1)
});
<button class="click-area">Click</button>

在您的例子中,您在条件语句中进行了赋值 +=,直到下一行才生效。

在条件语句之前的行中进行计算,解决问题。