console.log(inner.childNodes[len - 1].children[i]);
调试记录:控制台结果
#text

结果应该是一个数组,但是不是,说明数组越界。
但是

if (inner.childNodes.length === 5) {
for (var i = 0; i < 4; i ++) {
console.log(inner.childNodes[len - 2]);//??
if (inner.childNodes[len - 1].children[i].classList.contains('i')) {//??
alert("游戏结束,得分: " + num);
clearInterval(timer);
flag = false;
}
}
}

为什么会越界??(我也不知道)
改成 6 ,和 - 2 ,就是正确的效果。

本文探讨了在JavaScript中使用childNodes属性遍历DOM节点时遇到的数组越界问题,通过修改数组长度判断条件和索引值,成功解决了游戏逻辑中的错误,揭示了正确理解和运用数组边界检查的重要性。
3万+

被折叠的 条评论
为什么被折叠?



