也许我只是盯着这个屏幕太久了,但是我似乎无法弄清楚为什么这个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);


谢谢你的帮助。

干杯
查理

最佳答案

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

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

07-25 22:37