代码如下:但出现"j未定义"错误,明明是已经定义了!错误在何处?如何改?
j=5;
barValue="20";
setInterval("dispBar((j-1),barValue)",1);其中dispBar(numOption,percent){
for(var i=1;i<=numOption;i++)
{
var imgID=document.getElementById("img"+i);
.........
}

解决方案 »

  1.   

    但如果直接使用值,如setInterval("dispBar(3,barValue)",1);则可以执行。
    不知错误在何处?
      

  2.   


    j = 5;
    barValue = "20";
    setInterval("dispBar((" + j + "-1), " + barValue + ")",1);
      

  3.   


    j = 5;
    barValue = "20";
    setInterval("dispBar(" + (j-1) + ", " + barValue + ")",1);
      

  4.   

    我个人习惯是不喜欢用字符串的
    我会这样做j = 5;
    barValue = "20";
    setInterval(function(){
       dispBar((j-1),barValue);
    },1);
      

  5.   

    补充下
    setInterval里面第一个参数如果用字符串的话,它会做类似eval的操作,所以不太建议用字符串
      

  6.   

    楼上解释得很好,3楼写的很好
    setInterval("dispBar((j-1),barValue)",1); 这样写,j就不是变量了而是个字符串'j',barValue也是一样
    必须得setInterval("dispBar(("+(j-1)+"),"+barValue+")",1);
      

  7.   

    setInterval(function(){
      dispBar((j-1),barValue);
    },1);