setTimeout() : 用于在指定的毫秒数后调用函数或计算表达式; 按照指定的周期(以毫秒计)来调用函数或计算表达式. 会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭; 两个函数的区别在于它们的执行次数不一样, setTimeout()只执行一次;而setInterval()无限次循环执行。
使用clearTimeout(t);和clearInteval(t);来结束它们。它们的第一个参数都是含有 JavaScript 语句的字符串,第二个参数指示从当前起多少毫秒后执行第一个参数。但是用函数名作为调用句柄时都不能带参数,譬如说setTimeout(Time(hours),3000);主要原因在于这样做使Time函数立即执行,并将返回值作为调用句柄传递给setTimeout函数,但是这样的结果并不是setTimeout想要的。面对这样的情况,可以变换一下:
<script language="JavaScript" type="text/javascript">
function Time(hours){
alert(hours);
}
function Time1(hours){
return function(){
Time(hours)
}
}
window.setTimeout(Time1(hours),1000);
</script>
定义一个函数用于接收一个参数,然后返回一个不带参数的函数,
在这个函数内部使用外部函数的参数,进行调用的时候不需要使用参数。在 window.setTimeout函数中,使用
(Time1(hours)
来返回一个不带参数的
函数句柄,继而解决这个不能传递参数的问题。