如果运算结果 < 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>
在您的例子中,您在条件语句中进行了赋值 +=
,直到下一行才生效。
在条件语句之前的行中进行计算,解决问题。
如何在 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>
在您的例子中,您在条件语句中进行了赋值 +=
,直到下一行才生效。
在条件语句之前的行中进行计算,解决问题。