我在外部 JavaScript 文件中有以下代码:
var number = 1;
function doSomething() {
alert(number);
number++;
}
doSomething()
单击按钮时调用。
但是,每次单击该按钮时,警报消息始终保持为 1
和number
永远不会增加。如果我输入 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/