Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript全局检查变量_Javascript_Html - Fatal编程技术网

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检查许多常见的编程错误。