2022-04-15 1191
区别:setTimeout只运行一次,也就是说设定的时间到后就触发运行指定代码,运行完后即结束;而setinterval是一直循环运行下去,即每到设定时间间隔就触发指定代码,要想停止,需要使用clearInterval()函数。
settimeout和setinterval的区别
1、setTimeout和setInterval都属于JS中的定时器,可以规定延迟时间再执行某个操作,不同的是setTimeout在规定时间后执行完某个操作就停止了;而setInterval则可以一直循环下去,要想停止,可用window.clearInterval( );
function fun(){ alert('hello'); } setTimeout(fun,1000);//参数是函数名 setTimeout('fun()',1000);//参数是字符串 setInterval(fun,1000); setInterval('fun(),1000');
在上述代码中,无论是setTimeout还是setInterval,在使用函数名作为调用句柄时不能带参数,使用字符串调用时可以带参数。例如:setTimeout(‘fun(name)’,1000);
2、不再单独再定义一个函数,直接将函数调用放在一个函数里面,可以使用函数名作为调用调用句柄。
function fun(name){ alert('hello'+' '+name); } setTimeout (function(){ fun('Tom'); },1000);//参数是函数名
在上述代码中,setTimeout和setInterval的区别就是setTimeout延迟一秒弹出’hello’,之后便不再运行;而setInterval则会隔一秒弹出’hello’,直至用clear来清除定时器的语法。