+ -
当前位置:首页 → 问答吧 → setInterval中变量未定义?

setInterval中变量未定义?

时间:2011-11-02

来源:互联网

代码如下:但出现"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);
.........
}

作者: dxhdxh2k   发布时间: 2011-11-02

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

作者: dxhdxh2k   发布时间: 2011-11-02

JScript code

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


作者: hookee   发布时间: 2011-11-02

JScript code

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



作者: hookee   发布时间: 2011-11-02

我个人习惯是不喜欢用字符串的
我会这样做

j = 5;
barValue = "20";
setInterval(function(){
  dispBar((j-1),barValue);
},1);

作者: liangws   发布时间: 2011-11-02

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

作者: liangws   发布时间: 2011-11-02