Javascript - for循环挂?

时间:2011-08-28 06:52:10

标签: javascript for-loop hang

也许我刚刚盯着这个屏幕看了太长时间,但我似乎无法弄清楚为什么这个for循环挂了?

var not = '3,7';
var nots = not.split(',');
alert(nots.length);
for (var i = 0; i <= nots.length; i++) { 
    nots[i] = parseInt(nots[i], 10);
}
document.write(nots);

感谢您的帮助。

干杯
查理

1 个答案:

答案 0 :(得分:5)

在循环中,您正在测试i <= nots.length。您应该测试i < nots.length

当长度为5时,索引为0,1,2,3,4的元素。因此,当i达到5时,不再有元素。但是你设置nots[i](元素5)并将数组扩展一个。因此,每当i等于nots.length时循环执行,您将数组扩展一个,因此循环“仅再运行一次”只是为了进一步扩展数组。