我以前从未见过这种情况,也无法在互联网上找到任何相关信息。我甚至不确定如何提出这个问题。
我似乎无法随意重现这一点,但一旦它开始发生就会保持一致。
当我尝试使用变量(例如迭代器)访问数组的元素时,该数组将迭代器变量视为未定义,因为它认为我要求该数组的成员。
所以例如:
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
}
}