如何解决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 举报,一经查实,本站将立刻删除。