Javascript中的setTimeout和setInterval的区别
转自:http://blog.sina.com.cn/s/blog_56e56dee010004vb.html
一直知道js里有这两个函数,而且好象都是用来定时的,以为没有什么区别,但发现两个函数用的地方都不少。今天在网上查找了下相关的资料终于明白了。
简单说来:
setTimeout(Expression,DelayTime),在DelayTime过后,将执行一次Expression,只有被调用的函数里也包含setTimeout才能实现循环。
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>
"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会不停的循环执行表达式。
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利
This posting is provided "AS IS" with no warranties, and confers no rights.
This posting is provided "AS IS" with no warranties, and confers no rights.
浙公网安备 33010602011771号