定时器实现javascript的重复和延期执行
window.setTimeout()和window.setInterval()是window对象提供实现定时效果的两个方法。前者是使在指定时间后执行,后者是每过指定时间就执行一次。简单代码如下:
<script>
function helloWorld()
{
alert("Hello World!");
}
使用函数名事例:
window.setTimeout(helloWorld,3000);//页面打开后3秒钟弹对话框。
window.setInterval(helloWorld,3000);
使用字符串事例:
window.setTimeout("helloWorld()",3000);//页面打开后3秒钟弹对话框。
window.setInterval("helloWorld()",3000);
</script>
如果要取消执行,则使用window.clearTimeout(window.setTimeout(helloWorld,3000))和window.clearInerval(window.setInterval(helloWorld,3000))。
不管是window.setTimeout还是window.setInterval,在使用函数名作为句柄是都不能带参数,而使用字符串形式则可以。
var name="China";
function hello(_country)
{
alert("Hello,"+_country);
}
window.setInterval("Hello(name)",3000);
那有没有方法来实现函数名作为句柄却可以带参数呢,因为我们知道有些情景必须使用函数名。下面就来实现这一功能:
<script>
var Name="China";
function hello(_country)
{
alert("Hello,"+_country);
}
function HelloChina(_country)
{
return function(){hello(_country);}
}
window.setTimeout(HelloChina(Name),3000);
</script>
浙公网安备 33010602011771号