Javascript全局变量不会改变
Javascript Global Variable won't change
我在外部JavaScript文件中有以下代码:
var number = 1;
function doSomething() {
alert(number);
number++;
}
单击按钮时调用doSomething()
。
然而,每次按钮被点击警报消息总是保持为1
和number
从未增加。如果我把number++;
放在警报之前,警报每次显示2
。
我还尝试将number
定义为:var window.number = 1;
和window.number = 1;
,但没有成功。
我如何使这实际上增加变量并将其存储在number
函数的外部?
考虑到对这个问题的评论,我能想到的唯一解释是按钮是:
- 在表单内
- 一个提交按钮
表单的动作可能是未定义的或""
,所以它会重新加载页面。
这将重新初始化JS,并且将number
设置回1
。
- 使用
type="button"
代替type="submit"
或 删除或格式 - 阻止JS中的默认动作
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- 在Javascript中,全局变量不会改变函数中的值
- 为什么全局变量没有改变
- JavaScript全局变量在改变后会恢复到初始值
- 声明一个没有'var'让它成为一个全局变量或者只是改变它的值
- 我如何改变全局变量的值
- 我不能改变setInterval内的全局变量
- Javascript全局变量类型改变
- 全局变量在按下按钮时没有改变(作用域问题)
- jQuery函数不会改变全局变量,而常规javascript函数会
- 数据源查询回调问题(调用顺序,改变全局变量的能力)
- 使用属性来改变javascript插件中的全局变量
- 如何从全局范围改变私有变量?这可能吗?
- 如何改变这个Javascript不使用全局变量
- 全局变量的值改变了,javascript
- 如何通过用户(输入字段)改变函数内全局变量的值
- 为什么不改变函数内部的全局变量?
- Javascript全局变量没有改变?
- 全局变量在javascript (Cordova/Phonegap)中没有被改变
- Javascript全局变量不会改变