繁体   English   中英

在for循环中,Javascript函数无限期运行

[英]Javascript function runs indefinitely when inside for-loop

在我的页面上,我使用javascript<div>元素添加到页面中。 内容和数量来自服务器上文件夹的内容。 页面有多列,我想将每个新的列添加到最小的列。 我创建了这个函数来确定哪个列是最小的。 在单个请求上运行/测试时,该功能按预期工作。 当我使用需要添加的元素调用我的“for-loop”中的函数时,它会无限期地运行?

for for-loop是

for(i = 0; i < importedElement.length; i++){}

功能是

function findSmallestColumn() {
    var columns = document.getElementById("container").children;
    var columnsHeight = [];
    for (i = 0; i < numberOfColumns; i++) {
        columnsHeight[i] = columns[i].offsetHeight;
    }
    var min = Math.min(...columnsHeight);
    var minIndex = columnsHeight.indexOf(min) + 1;
    return minIndex;
}

*“numberOfColumns是附有数字的var。

你的函数中有第二个for循环,它无限增加i 在两个for循环中的任何一个中用j或任何其他变量名替换i ,它将按预期工作。

你可以使用相同的变量名, i如果在本地声明它们的内部利用回路let关键字,其中声明仅在当前块变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM