JS中的setTimeout和setInterval函数的区别

来源:互联网 发布:ipad无法加入网络 编辑:程序博客网 时间:2024/05/02 00:16

setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式,记住,次数是一次  setInterval(表达式,交互时间)则不一样,它从载入后,每隔指定的时间就执行一次表达式 

说明:本文转自:http://www.cnitblog.com/yemoo/archive/2006/06/29/13078.html

一直知道js里有这两个函数,而且好象都是用来定时的,以为没有什么区别,但发现两个函数用的地方都不少。今天在网上查找了下相关的资料终于明白了。

简单说来:
setTimeout(Expression,DelayTime),在DelayTime过后,将执行一次Expression

setInterval(expression,delayTime),每个DelayTime,都将执行Expression.
常常可用于刷新表达式.

下面偶自己写了一个例子更容易帮助理解。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>  <title></title></head><body><div id="a"></div><div id="b"></div><script type="text/javascript">    setTimeout("document.getElementById('a').innerHTML=new Date().getSeconds();",1000);    setInterval("document.getElementById('b').innerHTML=new Date().getSeconds();",1000);  </script></body></html>
运行会发现,a中的内容更新一次则不在变动,而b中的内容则随着时间的变化一直变化。
setInterval会不停的循环执行表达式。秒表功能

原创粉丝点击