索引到带有变量的javascript数组中使用数组范围变量

时间:2016-02-26 16:13:45

标签: javascript

我以前从未见过这种情况,也无法在互联网上找到任何相关信息。我甚至不确定如何提出这个问题。

我似乎无法随意重现这一点,但一旦它开始发生就会保持一致。

当我尝试使用变量(例如迭代器)访问数组的元素时,该数组将迭代器变量视为未定义,因为它认为我要求该数组的成员。

所以例如:

for(var x = 0; x < width; ++x)
{
    if(something != somethingelse)
    {
        var element = array[x]; // exception
    }
}
例如,这可能会导致异常,因为x未定义。所以在firefoxes调试器中,我检查&#34; x&#34;的值。在[x]里面,它是未定义的。我检查&#34; x&#34;的值在for循环行中,它是一个正确的整数。所以我把手表放在[x]里面的x上,发现我正在观看&#34; array.x&#34;。

我多年来一直在使用javascript,但我以前没有看到过这种情况。我不经常使用firefox进行调试,所以这是firefox的一个问题吗?

我想我的问题是,通过使用变量访问数组有什么明显的错误吗?

我忘了提及,我确实有一个解决办法,但在发生这种情况时,我不想总是这么做。在我访问数组中的元素之前,我将数组成员变量设置为变量i&#39; m作为索引。

例如:

for(var x = 0; x < width; ++x)
{
    if(something != somethingelse)
    {
        array.x = x;
        var element = array[x]; // exception
    }
}

0 个答案:

没有答案