浅析JS中回调函数及用法


Posted in Javascript onJuly 25, 2018

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

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

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('验证失败,禁止通行')//没有权限,可以做什么
  }
}
 }

总结

以上所述是小编给大家介绍的JS中回调函数及用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JQuery 1.4 中的Ajax问题
Jan 23 Javascript
JavaScript 原型继承
Dec 26 Javascript
jQuery JSON实现无刷新三级联动实例探讨
May 28 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
Nov 06 Javascript
jQuery搜索子元素的方法
Feb 10 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
Sep 10 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
Dec 18 Javascript
BootStrap3使用错误记录及解决办法
Dec 22 Javascript
微信小程序实现留言板功能
Nov 02 Javascript
JavaScript闭包相关知识解析
Oct 19 Javascript
React实现轮播效果
Aug 25 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
Sep 21 Javascript
详解使用mpvue开发github小程序总结
Jul 25 #Javascript
详解mpvue开发小程序小总结
Jul 25 #Javascript
Bootstrap table表格初始化表格数据的方法
Jul 25 #Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
Jul 24 #Javascript
微信小程序实现图片上传放大预览删除代码
Jun 28 #Javascript
vue实现底部菜单功能
Jul 24 #Javascript
vue 下列表侧滑操作实例代码详解
Jul 24 #Javascript
You might like
一个PHP+MSSQL分页的例子
2006/10/09 PHP
我的论坛源代码(三)
2006/10/09 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
laravel实现前后台路由分离的方法
2019/10/13 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
JavaScript 实现??打印?理
2007/04/28 Javascript
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python中使用dom模块生成XML文件示例
2015/04/05 Python
python实现ping的方法
2015/07/06 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
python图片验证码生成代码
2016/07/02 Python
Python模块WSGI使用详解
2018/02/02 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
Python中的延迟绑定原理详解
2019/10/11 Python
浅析Python3 pip换源问题
2020/01/06 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
python脚本定时发送邮件
2020/12/22 Python
中间件分为哪几类
2016/09/18 面试题
公司行政经理岗位职责
2013/12/24 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
保安岗位职责
2014/02/21 职场文书
2016新年慰问信范文
2015/03/25 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技
python中redis包操作数据库的教程
2022/04/19 Python
Android studio 简单计算器的编写
2022/05/20 Java/Android
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers