关于javascript的setInterval函数传参问题

2025-05-19 16:39:53
推荐回答(3个)
回答1:

定义和用法
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
语法:
setInterval(code,millisec[,"lang"])
参数描述:
code    必需。要调用的函数或要执行的代码串。    
millisec    必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。    
返回值:
一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。
实例



    
    
        var int=self.setInterval("clock()",50)
        function clock(){
          var t=new Date()
          document.getElementById("clock").value=t
         }
    
    
    Stop interval


回答2:

用一个匿名函数就能很好的解决这个问题:

setInterval(function(){
//这儿放要执行的代码, 参数在外面准备好
trans(msObj);
}), 100);

回答3:

这个可以这么做

function some(){
var msObj = document.createElement("div");
msObj.id = "ms";
msObj.style.cssText = "position:absolute;left:"+(iWidth-w)/2+"px;top:"+(iHeight-h)/2+"px;width:0px;height:0px;background-color:#ffffff;z-index:103;border: 1px solid #999999";
document.body.appendChild(msObj);
haha=setInterval(function(){ trans(msObj); },100,);
}
function trans(ob){
alert(ob);//在FF里弹出“[object HTMLDivElement]”,在IE弹出“undefined”
}