我有一个关于 JavaScript 循环的问题。我主要使用 jQuery,但现在我决定用纯 JavaScript 制作一个简单的游戏。
如果我用这种方法遍历我所有的“td”,它就可以工作,这些cells[i]是 td 元素,我可以将事件附加到它们。
    for(i = 0; i < cells.length; i++){
        if(cells[i].nodeName == 'TD')
        {
            cells[i].onclick = function(){
                // call funciton on onclick
            };
        }
    }
但如果我这样做,每个元素都只是索引号,最后的两个是lengthand item。
    for(var cell in cells){
        // cell is a number
    }
有什么区别,为什么 foreach 循环不像我想要的那样工作?