javascript中的无限for..循环

Unlimited for...loop in javascript

本文关键字:for 循环 无限 javascript      更新时间:2023-09-26

我有3个与#sweet ID匹配的元素。我有一个这样的函数:

var element=document.querySelectorAll("#sweet");
for (var y=0; y<element.length; y++)
{
if (element[y].nodeName == "DIV")
  {
    element[y].innerHTML='';
    var length=element[y].offsetWidth;
    for (i=0; i<n; i++) {
       console.log(i);
    }
 /////////////////////////
 var resizeTimer = 0;
    function doResize()
    {
        if (resizeTimer)
            clearTimeout(resizeTimer);
        resizeTimer = setTimeout(function() {rainbow(n, color);}, 0);
    }
    doResize();
 ////////////////////////
  }
  else if (element[y].nodeName == "SPAN")
  {
    console.log("span");
  }

}

但是有一个问题。在控制台中无限输出span字。但是它必须打印2次,因为我有1个div元素与#sweet ID和2个span元素与#sweet ID。造成这个问题的原因是什么?也许,这是因为我有settimeout函数,但我需要这个函数,我不想删除它,有其他解决方法吗?

你可以把你的变量作为参数传递给一个数组:

var doitman = function(items, option2){
    var item1 = items[0];
    var item2 = items[2];
    // your code here
}
var items = [item1, item2, item3];
doitman( items, option2 );

我想你应该看看这一页的数组

function doitman (ary, option2) {
   var item1 = ary [0];
   var item2 = ary [1];
   var item3 = ary [2];
   // whatever
}
doitman ( [1, 2, 3], option );