定时器是JS中的延迟命令,即触发该命令后多长时间执行定时器中的代码。
语法如下:
定时器的定义有三种方式
1、直接在定时器中直接定义函数
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>定时器 setTimeout clearTimeout</title>
</head>
<body>
<script type="text/javascript">
// setTimeout 设置定时器,3s(3000ms)后输出hello
// 直接传递函数
setTimeout(function(){
console.log('hello');
}, 3000);
</script>
</body>
</html>
以上代码的实现结果为:3秒后输出hello
2、先定义函数,再给定时器传递函数名称
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>定时器 setTimeout clearTimeout</title>
</head>
<body>
<script type="text/javascript">
//先定义函数,再给定时器传递函数名称
function f1(){
console.log('hello');
}
setTimeout(f1, 3000);
</script>
</body>
</html>
3、给定时器传递一段字符串格式的js代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>定时器 setTimeout clearTimeout</title>
</head>
<body>
<script type="text/javascript">
//传递一段字符串格式的js代码,通常是字符串格式的函数的调用
function f1(){
console.log('hello');
}
setTimeout("f1()", 3000);
// setTimeout("console.log('hello');", 3000);
</script>
</body>
</html>
4、清除定时器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>定时器 setTimeout clearTimeout</title>
</head>
<body>
<script type="text/javascript">
//清除定时器 clearTimeout 需要使用设置定时器时的返回结果--定时器的编号
var timeout = setTimeout(function(){
console.log('hello');
},3000);
console.log(timeout);
clearTimeout(timeout);
</script>
</body>
</html>
解释一下清除定时器的操作
我们先定义了一个定时器,它的操作是3秒后输出hello,接着又清除了定时器。
实际执行过程为,执行完setTimeout函数后立即执行了clearTimeout,所以只输出了定时器编号,并未输出hello。
定时器在JS中非常常用,请大家动手练习一下。
|