使用全局变量时出错

时间:2011-12-03 18:01:11

标签: javascript

我使用全局变量如下:

var someArray = new Array();

for(i=1;i<=50;i++)

    someArray[i] = 0;

然后在函数中,我使用:

if(something == anotherThing)

    someArray[i] = 1; //works fine

在另一个功能中:

if(something == anotherThing)

{
    var i = 1;

    alert(someArray[1]); //returns fine;

    alert(someArray[i]); //returns undefined.

}

无法弄清楚错误。

甚至使用过:

window.someArray[x];

1 个答案:

答案 0 :(得分:1)

您的代码没有被破坏。 Live Example

请注意,使用全局变量是邪恶的。您应该找到一些模块化代码的方法。 modul8 / browserify,requireJS / AMD&amp;闭包/命名空间是做到这一点的流行方法。