Javascript全局变量不会改变

Javascript Global Variable won't change

本文关键字:改变 全局变量 Javascript      更新时间:2023-09-26

我在外部JavaScript文件中有以下代码:

var number = 1;
function doSomething() {
    alert(number);
    number++;
}

单击按钮时调用doSomething()

然而,每次按钮被点击警报消息总是保持为1number从未增加。如果我把number++;放在警报之前,警报每次显示2

我还尝试将number定义为:var window.number = 1;window.number = 1;,但没有成功。

我如何使这实际上增加变量并将其存储在number函数的外部?

考虑到对这个问题的评论,我能想到的唯一解释是按钮是:

  • 在表单内
  • 一个提交按钮
当您单击它时,JavaScript运行,然后提交表单。

表单的动作可能是未定义的或"",所以它会重新加载页面。

这将重新初始化JS,并且将number设置回1

  • 使用type="button"代替type="submit"
  • 删除格式
  • 阻止JS中的默认动作