JavaScript全局检查变量
我想要全局变量JavaScript全局检查变量,javascript,html,Javascript,Html,我想要全局变量exp,当它为100时,增加级别。我正在使用按钮获取exp。 它很好用。它给出exp和另一个变量。但是当exp为100时,该级别不会增加1 exp = 0; level = 1; 250行代码之后,我有以下内容: if (exp == 100) { level = level + 1; exp = 0; document.getElementById("level").innerHTML = level; document.getElementById("exp"
exp
,当它为100时,增加级别。我正在使用按钮获取exp
。
它很好用。它给出exp
和另一个变量。但是当exp
为100时,该级别不会增加1
exp = 0;
level = 1;
250行代码之后,我有以下内容:
if (exp == 100) {
level = level + 1;
exp = 0;
document.getElementById("level").innerHTML = level;
document.getElementById("exp").innerHTML = exp;
}
它不起作用。100后,它继续计数。
我做错了什么?很难说是什么错,因为这里没有包含足够的代码 然而,似乎有两件事情可能是错误的:
exp
和level
?您没有在上面使用var
来定义它们,这意味着您可能在其他地方定义了它们,并在此处重新定义,这将在每次递增时重置计数,从而破坏递增的目的if
语句包装到要调用的递增exp
函数中?如果不是,您可能只是第一次检查它,这将导致它永远不会触发语句我已经创建了一个演示,填补了其中的一些漏洞,它在隔离状态下运行良好。当然,问题是这一部分如何适应代码的上下文。解决方案需要更多关于如何设置项目的信息。如果没有看到其余代码,我们无法给您一个明确的答案。我们所能做的就是猜测。将var添加到llevel=1;重放级别=级别+1;达到++级;因为级别=级别+1;重写变量。尝试写入
=
而不是=
。如果它从来都不等于100,那么它就应该被抓住。没有任何效果。仍然超过100。有几种因素可能导致这种情况——从某个地方被重新定义到范围问题。使用JSLint或JSHint检查许多常见的编程错误。