热门IT资讯网

JS中setTimeout()和 interval()方法的用法

发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,JS中setTimeout()方法的用法settimeout(表达式,延迟时间); 单位:ms(毫秒);1s=1000ms;setinterval(表达式,交互时间); 单位:ms(毫秒);1s=10

JS中setTimeout()方法的用法

settimeout(表达式,延迟时间); 单位:ms(毫秒);1s=1000ms; 

  setinterval(表达式,交互时间);  单位:ms(毫秒);1s=1000ms; 

  window.settimeout()

   在执行时,它从载入后延迟指定的时间去执行一个表达式或者是函数;仅执行一次;和window.cleartimeout一起使用.

  window.setinterval()

   在执行时,它从载入页面后每隔指定的时间执行一个表达式或者是函数;(功能类似于递归函数);和window.clearinterval一起使用.

  1,基本用法:

   执行一段代码:  var i=0;

   settimeout("i+=1;alert(i)",1000);

   执行一个函数:

   var i=0;

   settimeout(function(){i+=1;alert(i);},1000);

   //比较上面的两种方法的不同。

   下面再来一个执行函数的:

  var i=0;

  function test(){

    i+=1;

    alert(i);

  }

  settimeout("test()",1000);

  也可以这样:

  settimeout(test,1000);

   总结:

   settimeout的原型是这样的:

   itimerid = window.settimeout(vcode, imilliseconds [, slanguage])

  settimeout有两种形式

  settimeout(code,interval)

  settimeout(func,interval,args)

  其中code是一个字符串

  func是一个函数.

  注重"函数"的意义,是一个表达式,而不是一个语句.

  比如你想周期性执行一个函数

 function a(){

   //...

 }

  可写为

  setinterval("a()",1000)

  或

  setinterval(a,1000)

  这里注重第二种形式中,是a,不要写成a(),切记!!!

  展开来说,不管你这里写的是什么,假如是一个变量,一定是一个指向某函数的变量;假如是个函数,那它的返回值就 要是个函数

  2,用settimeout实现setinterval的功能

  思路很简单,就是在一个函数中调用不停执行自己,有点像递归

  var i=0;

  function xilou(){

    i+=1;

    if(i>10){alert(i);return;}

    settimeout("xilou()",1000);

    //用这个也可以

    //settimeout(xilou,1000);

  }

window.setTimeout(func,delay);

func,代表所要执行的函数或代码字符串。

delay,延时参数,单位为毫秒,一秒=1000毫秒。

func中传递的函数或语句有变量输入时,变量的取值以延时后的执行时段时的取值为准,不以代码执行时段的值为准。例如:

代码:

for(var i=1;i<=50;i++)

{

window.setTimeout("[xss_clean](i)",1000);

}

这样写的意义是在程序执行完1秒后打印50个i,此时程序已执行完,i的取值为"51";

如果要是程序每隔1秒打印一个数,则程序要改写为

代码:

for(var i=1;i<=50;i++)

{

window.setTimeout("[xss_clean]("+i+")",i*1000);

}

#Javascr


0