求助,这段js代码为什么不能用var 定义settimeout

来源:百度知道 编辑:UC知道 时间:2024/05/29 23:39:59
带按扭的轮换横幅广告

下面是js代码
<SCRIPT language="JavaScript">
var NowFrame = 1;//最先显示第一张图片
var MaxFrame = 4;//一共四张图片
function show(d1)
{
if(Number(d1))
{
clearTimeout(theTimer); //当触动按扭时,清除计时器
NowFrame=d1; //设当前显示图片
}
for(var i=1;i<(MaxFrame+1);i++)
{
if(i==NowFrame)
document.getElementById('div'+NowFrame).style.display =''; //当前图片示
else
document.getElementById('div'+i).style.display ='none'; //隐藏其他图片层
}
if(NowFrame == MaxFrame)
{//设置下一个显示的图片
NowFrame = 1;
}
else {
{
}
NowFrame++;}
theTimer=setTimeout('show()', 1000); //设置定时器,显示下一张图片
}

</SCRIPT>

为什么如果 thetimer前面加var的话,
图片切换用鼠标点击下面的对应按钮就

setTimeout('show()', 1000); //设置定时器,显示下一张图片 ,直接用就好,而且,1秒过了开始调用SHOW(),没有记时的功能,setInterval这个可以

因为setTimeout是函数,且没有返回值;不是类,不能初始化出一个对象来,所以不能用var

因为在JS中,变量应该先声明后使用