第二次调用函数时,javascript全局变量未定义

时间:2018-03-17 19:42:41

标签: javascript global

var newState = [...this.state.registrations]

所以我将此代码设置为显示屏幕的一部分,然后使用相同的按钮关闭所述部分。当我打开它时,我想设置一个计时器(删除以免混淆人)并使用setinterval将ID存储到myTimer中(由“var myTimer = 2”模拟)。即使没有这部分代码,它仍然会失败。

因此,当我打开它时,控制台会显示“打开2”(按预期工作)。当我关闭它时,我预计它会为2(因为我已经将全局变量设置为2)。但我得到的是“关闭未定义”。

全局变量(我相信)在最顶层定义。那么我在这里做错了什么?如果不是2,那么不应该关闭它,然后至少0?

1 个答案:

答案 0 :(得分:0)

JavaScript global variable becomes undefined inside function

我并不认为它在功能范围内,但就是这样。对不起大家。我没有意识到使用var设置变量..嗯,我知道它,但并不认为它会成为本地的并删除全局变量。

解决方案,将var myTimer = 2更改为myTimer = 2.