function getDataNext() {
      i++;
      if (i > items.length - 1) i = 0;      document.forms[0].SKU.value = getNode(orderDoc, "/Order/Item[" + i + "]/SKU");
      document.forms[0].Price.value = getNode(orderDoc, "/Order/Item[" + i + "]/PricePer");
      document.forms[0].Quantity.value = getNode(orderDoc, "/Order/Item[" + i + "]/Quantity");
      document.forms[0].Total.value = getNode(orderDoc,"/Order/Item[" + i + "]/Subtotal");
      document.forms[0].Description.value = getNode(orderDoc, "/Order/Item[" + i + "]/Description");
 }以上代码为什么没用for循环啊,为什么这样也可以?

解决方案 »

  1.   

    如果是不断调用getDataNext()
    相当于循环不过这种写法很烂
      

  2.   

    这里哪有循环啊?
    i是个全局变量,只是在函数getDataNext()里面被修改,哪里有循环吗?
    哦,你的意思是i到某个值后又从0开始,晕,那里不是有个判断吗
      

  3.   

    可能在getNode这个方法中又再次调用getDataNext,递归了。光上述代码,不存在循环
      

  4.   

    不存在循环
    如果在别的地方循环调用此函数就形成循环了。
    不是有
     i++; //递增
          if (i > items.length - 1) i = 0;//重新开始
     吗?