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("document.write(i)",1000);
}


这样写的意义是在程序执行完1秒后打印50个i,此时程序已执行完,i的取值为"51";
如果要是程序每隔1秒打印一个数,则程序要改写为

代码:

for(var i=1;i<=50;i++)
{
       window.setTimeout("document.write("+i+")",i*1000);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值