理解基本javascript逻辑

理解基本javascript逻辑,javascript,jquery,logic,Javascript,Jquery,Logic,我目前正在学习/练习DOM操作,并浏览了本教程/练习表 我目前对createGrid函数创建的循环感到困惑。 ... 函数“createGrid”被创建并接受一个参数。函数创建一个for循环,其中嵌套了另一个循环。。。和第一个一样的陈述。。。为什么要创建一个单独的循环?为什么不直接用一个for loop呢?有人能给我解释一下吗?(写这段代码的人远远超出了我的理解范围,但我仍然想了解原因) $(函数(){ var行=10; var-cols=10; var单元格=[]; 函数createGrid

我目前正在学习/练习DOM操作,并浏览了本教程/练习表

我目前对createGrid函数创建的循环感到困惑。 ... 函数“createGrid”被创建并接受一个参数。函数创建一个for循环,其中嵌套了另一个循环。。。和第一个一样的陈述。。。为什么要创建一个单独的循环?为什么不直接用一个for loop呢?有人能给我解释一下吗?(写这段代码的人远远超出了我的理解范围,但我仍然想了解原因)

$(函数(){
var行=10;
var-cols=10;
var单元格=[];
函数createGrid(根){
对于(变量i=0;i1){
cell.addClass('active');
}否则{
cell.removeClass('active');
}
});
}
设置间隔(更新,500);
变量$root=$('.container');
createGrid($root);
});

事实上,我很确定这是开发人员的错误。正如你所想,这是没有道理的。 只需按如下方式更改父循环:

function createGrid(root) {
    for(var i = 0; i < rows; i++) {
        for(var j = 0; j < cols; j++) {
            var cell = $('<div>').addClass('cell');
            cells.push(cell);
            root.append(cell);
        }
    }
}
函数createGrid(根){
对于(变量i=0;i
因为创建表或网格的常用方法是使用父循环生成行,使用嵌套循环生成列。
他只是没有意识到自己的错误。

事实上,我很确定这是开发人员的错误。正如你所想,这是没有道理的。 只需按如下方式更改父循环:

function createGrid(root) {
    for(var i = 0; i < rows; i++) {
        for(var j = 0; j < cols; j++) {
            var cell = $('<div>').addClass('cell');
            cells.push(cell);
            root.append(cell);
        }
    }
}
函数createGrid(根){
对于(变量i=0;i
因为创建表或网格的常用方法是使用父循环生成行,使用嵌套循环生成列。
他只是没有意识到自己的错误。

那么你是在问为什么网格不使用一个for loop?那么你是在问网格为什么不使用一个for loop?叮叮叮——这就是答案。如果查看发布的代码,原始开发人员会创建一个名为
rows
的变量,他/她从未使用过该变量。当然,他们只是无意中在嵌套循环中使用了两次
cols
,而他们打算使用
一次。叮叮叮——这就是答案。如果查看发布的代码,原始开发人员会创建一个名为
rows
的变量,他/她从未使用过该变量。当然,他们只是意外地在嵌套循环中使用了两次
cols
,而不是打算使用一次
行。