微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript仅在运算结果<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)
}

感谢帮助

解决方法

F_TEXT_CHAR是一项作业。

在您的情况下,条件检查和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>

在您的情况下,您在条件中进行了赋值+=,直到下一行才生效。

在有条件的前一行进行计算,即可解决问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。