2:定时器

知识梳理

// timeout 暂停;超时
// interval 间隔 简歇
 

一  单次定时器:setTimeout();

1)基本语法:

// window.setTimeout(回调函数,[延迟的毫秒数]); 

2)三种调用方式

//直接写匿名函数
window.setTimeout(function () {
    alert('100');
},1000);

//函数名调用
window.setTimeout(funName,1000);

//字符串函数名 [ 不推荐 ]
window.setTimeout('funName',1000)
function fun() {
    alert(200);
}

3)注意事项

// 1 window 可以省略
//
1 延迟的毫秒数默认是0 如果写必须是毫秒 1秒 = 1000毫秒 // 3 定时器有很多 我们会给定时器赋值标识符 var time1 = setTimeout();

4)小案例:5秒后自动关闭广告

<script>
    window.addEventListener('load',function () {
        var ad = document.querySelector('#ad');
        window.setTimeout(function () {
            ad.style.display = 'none';

        },5000)
    });
</script>
<div id="ad">广告条</div>

5)清除单次定时器

// clearTimeout(定时器名字);

二 重复定时器 setinterval

1)基本语法

// window.setInterval(回调函数,[间隔毫秒数]);
// 重复调用一个函数,每隔一个时间,就调用一次回调函数
// 使用和setTimeout一摸一样

2)代码范例

window.setInterval(function () {
    console.log(10);
},1000);
//没间隔一秒 就执行一次函数 打印10

3)清除重复定时器

// clearInterval(定时器名字);
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <button class="begin">开启定时器</button>
    <button class="stop">停止定时器</button>
    <script>
        var begin = document.querySelector('.begin');
        var stop = document.querySelector('.stop');
        var timer = null; // 全局变量  null是一个空对象
        begin.addEventListener('click', function() {
            timer = setInterval(function() {
                console.log('ni hao ma');

            }, 1000);
        })
        stop.addEventListener('click', function() {
            clearInterval(timer);
        })
    </script>
</body>
</html>
//定时器变量一定要在全局作用域下 

回调函数

1)普通函数按照代码顺序直接调用

2)回调函数:回调,就是回头调用的意思。上一件事干完,再回头调用这个函数

3)element.onclick = function(){}  这个匿名函数也是回调函数

原文地址:https://www.cnblogs.com/fuyunlin/p/14451307.html