简单理解回调函数

回调函数的简单理解

概述

  1. 简单理解: 回调,就是回头调用的意思。上一件事干完,再回头再调用这个函数。
  2. setTimeout() 这个调用函数我们也称为回调函数 callback 。普通函数是按照代码顺序直接调用。而这个函数,需要等待时间,时间到了才去调用这个函数,因此称为回调函数。
  3. 以前的 element.onclick = function(){} 或者element.addEventListener(“click”, fn); 里面的 函数也是回调函数。

使用

  • 点击使用回调函数,把函数当作一个参数传进来。
   btn.addEventListener("click", fn)
       function fn() {
            console.log("我是回调函数");
         }
       // 定时器使用回调函数,3秒后执行
        setTimeout(fn, 3000);
  • 调用回调函数 (先执行本身函数 再调用执行回调函数)
      function fn(a, b, callback) {
            alert(a + b);//属于本身函数自带
            setTimeout(function() {
                // 3秒后如果有回调函数就调用回调函数
                if (callback) {
                    callback();
                }
            }, 3000);
        };
        btn.addEventListener("click", function() {
            fn(1, 2, function() {
                console.log("我是回调函数");
            })
        })

案例

倒计时

        var hour = document.querySelector(".hour");
        var minute = document.querySelector(".minute");
        var second = document.querySelector(".second");
        var after = +new Date('2021-7-30 18:00:00');//输入的时间
        function djs() {
            var now = +new Date();//当前时间
            var num = (after - now) / 1000;//秒
            //var year = parseInt(num / 60 / 60 / 24);//天
            // year = year < 10 ? year = "0" + year : year;//00
            var month = parseInt(num / 60 / 60 % 24);//时
            hour.innerHTML = month;
            month = month < 10 ? month = "0" + month : month;
            var day = parseInt(num / 60 % 60);//分
            day = day < 10 ? day = "0" + day : day;
            minute.innerHTML = day;
            var minutes = parseInt(num % 60);//秒
            minutes = minutes < 10 ? minutes = "0" + minutes : minutes;
            second.innerHTML = minutes;
        }
        djs(); //首先调用倒计时函数 防止出现一开始加载页面
        setInterval(djs, 1000); //调用回调函数djs
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值