我无法弄清楚为什么数字变量的减法不起作用。我的代码如下。
function Check() {
var Viewer = document.getElementById("Viewer");
var TrysLeft = 3;
if (Viewer.value == Num) {
alert("Correct");
} else {
TrysLeft - 1;
alert("Sorry you got the combo wrong! You have " + TrysLeft + " Trys left before the combo is reset");
}
}
答案 0 :(得分:2)
您有var TrysLeft = 3;
作为本地变量。每次调用函数时它都会重新初始化为3。
在减去TrysLeft之后,你也没有将它分配给任何东西。
您可以TrysLeft--;
或TrysLeft = TrysLeft -1;
答案 1 :(得分:2)
应该是:
TrysLeft = TrysLeft - 1;
或者
TrysLeft -= 1;
答案 2 :(得分:2)
尝试使用以下代码:
TrysLeft--;
或
--TrysLeft;
另外,我建议保持变量小写,不是函数或对象。
答案 3 :(得分:1)
首先,使用以下内容更正该行:
TrysLeft = -1;
由:
TrysLeft -= 1;
下一步:强>
每次调用函数时,都可以使用闭包来保持变量的当前值:
var TrysLeft = 3;
function Check() {
var Viewer = document.getElementById("Viewer");
if (Viewer.value == Num) {
alert("Correct");
} else {
`TrysLeft -= 1;`
alert("Sorry you got the combo wrong! You have " + TrysLeft + " Trys left before the combo is reset");
}
}
答案 4 :(得分:1)
也许你可以试试
TrysLeft=TrysLeft-1;