Javascript 全局变量不会改变

标签 javascript variables

我在外部 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 中的默认操作

关于Javascript 全局变量不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22422201/

相关文章:

javascript - 有没有办法在 Tweet/FB 共享中包含字符串变量?

javascript - 使用外部超链接激活 CSS Tab

javascript - 需要帮助查找 javascript 代码

ruby-on-rails - 使用 erb 渲染一个变量

html - SCSS-Variables 不显示在前端

c - 如何计算递增变量的总计

javascript - 在 Javascript 中返回字符串的特定部分

variables - 如何创建一个变量来计算 SPSS 中具有相同 ID 的其他案例的数量

C# 说我在不打算声明变量的时候声明了变量

javascript - 下拉按钮仅在边框附近单击时才起作用