zoukankan      html  css  js  c++  java
  • 回调函数理解(转载)

     想要详细理解回调函数的内容还需要理解与javascript单线程和异步相关知识。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <button id="btn" onclick="btnOnClick()">按钮</button>
    <script>
        function printText(){
            document.write("回调函数");
            /*页面载入后浏览器输出流自动关闭,此后对当前页面进行document.write()操作将打开
            一个新的输出流,它将清除当前页面内容(包括源文档的任何变量或值)*/
        }
        setTimeout(printText,0);
        /*便于记忆
        *我们完全可以记忆:被当成参数使用的函数名就是回调函数。*/
        document.write("test1");
        document.write("test1");
        document.write("test1");
        document.write("test1");
        document.write("test1");
        document.write("test1");
    
    </script>
    </body>
    </html>

    以下内容为转载内容:转载自https://www.jb51.net/article/144414.htm

    回调函数,什么是回调函数呢?很多初学者都不是很明白,感觉懵懵的,不理解,更不会用!

    其实简单理解的话就是在一个函数执行完毕后,得到想要的特定数据后在去执行的函数,并没有性药中的那么高深!

    function getdata(callback){
        //这里我们假设是从后端获取数据
        setTimeout(function(){
         //假设我们获取到数据info
         var info = {
          "id":1,
          "name":'张三'
         }
         //得到数据以后执行函数方法
         callback(info)//这个就是回调函数
        },1000)

    上述代码就可以清除的告诉你什么是回调函数!可能你还是不太明白,这个callback是什么,他有什么作用呢?

    getdata(check)
       function getdata(callback){
        //这里我们假设是从后端获取数据
        setTimeout(function(){
         //假设我们获取到数据info
         var info = {
          "id":1,
          "name":'张三'
         }
         //得到数据以后执行函数方法
         callback(info)//这个就是回调函数
        },1000)
     }
    function check(data){
      if(data.id==1){
       console.log('验证成功,可以通过')
      }
    }

    看上面的代码,有两个方法,getdata和check,我们执行了getdata方法,并把check当做参数传给了getdata,那么这时候check就是回调函数!

    那么这个回调函数有什么作用呢,怎么用呢?如果你已经理解了回调函数的意义,那么你将很好的理解他的用法,记忆怎么在实际项目中去用他!

    看下面的代码,我写的一种实际应用中的用法:

    //vue框架的应用,其他框架的可以自行修改!!!
    //用户权限验证实例:
    created(){//在这个钩子函数中取执行获取数据的方法,将验证方法作为回调传入
      getdata(check)
     }
     methods:{//在这里面,首先你得有created钩子函数中用到的那两个方法
       function getdata(callback){//向后端请求用户信息
        //这里我们假设是从后端获取数据
        setTimeout(function(){
         //假设我们获取到数据info
         var info = {
          "id":1,
          "name":'张三'
         }
         //得到数据以后执行函数方法
         callback(info)//这个就是回调函数,得到用户信息后去验证他的权限
        },1000)
     }
    function check(data){//验证用户权限
      if(data.id==1){//验证权限的条件,根据实际设定
       console.log('验证成功,可以通过')//权限通过,可以做什么
      }else{
       console.log('验证失败,禁止通行')//没有权限,可以做什么
      }
    }
     }
  • 相关阅读:
    Jetson TX1使用usb camera采集图像 (2)
    Jetson TX1安装pyTorch
    Jetson TX1 install Opencv3
    Jetson TX1使用usb camera采集图像 (1)
    win10双系统安装卸载ubuntu
    弱监督下的目标检测算法
    javascript高级程序设计读书笔记
    好用的linux命令
    正则表达式学习
    yii执行原理
  • 原文地址:https://www.cnblogs.com/foreverlin/p/10090770.html
Copyright © 2011-2022 走看看