JS中的回调函数实例浅析


Posted in Javascript onMarch 21, 2018

本文实例讲述了JS中的回调函数。分享给大家供大家参考,具体如下:

在说回调函数之前,不妨先看一段代码,相信有点js基础的同学都能明白他的含义:

document.getElementById('demo').click=function(){
  alert(1);
};

这段代码其实就是一段事件回调,这样写看的其实相对模糊一些,我们不妨看下接下来的代码

document.getElementById('demo').addEventListener('click',function(){
    alert(1)
});

这两段代码的所做的事情其实相同,不同的只是写法的差异,我们看这个addEventListener('eventName',callback)addEventListener这个函数有两个参数,第一个为事件名称,第二个参数实际上就是回掉函数,按照书上来说回调函数的方式,函数中的参数既然可以是变量,那么他也可以是一个函数。可能说到这里大家对回掉函数还是一脸懵逼。我们再看接下来这个例子。

function demo(a,b,callback){
    let c=a+b;
    callback(c);
};
demo(1,2,function(c){
    alert(c);//3
})

这段代码定义了一个demo函数,这个函数有三个参数a,b,callback,我们在这个函数内部声明了一个局部变量c,然后执行我们的callback(回调函数),接下来执行demo这个函数

这个函数的三个参数如上,在回掉函数中弹出的为3。这就是一个简单的回调函数。而要想真正理解回调函数的意义,其实我觉得还是在于明白他的用途,只有明白他的用途了我们才可以真正的去理解他。

回调函数最多的应用场景就是异步操作,因为异步的操作我们不知道这个操作到底何时结束,那么我们后续执行的代码就无法按照应有的流程走下去。

更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript CSS修改学习第五章 给“上传”添加样式
Feb 19 Javascript
jquery实现input输入框实时输入触发事件代码
Jan 28 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
Feb 04 Javascript
jquery专业的导航菜单特效代码分享
Aug 29 Javascript
jquery实现的V字形显示效果代码
Oct 27 Javascript
通过bootstrap全面学习less
Nov 09 Javascript
浅谈jquery拼接字符串效率比较高的方法
Feb 22 Javascript
vue如何实现observer和watcher源码解析
Mar 09 Javascript
基于jQuery实现瀑布流页面
Apr 11 jQuery
vue使用better-scroll实现下拉刷新、上拉加载
Nov 23 Javascript
ES6 新增的创建数组的方法(小结)
Aug 01 Javascript
JS实现灯泡开关特效
Mar 30 Javascript
使用Vue制作图片轮播组件思路详解
Mar 21 #Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
Mar 21 #Javascript
JS实现遍历不规则多维数组的方法
Mar 21 #Javascript
vue项目关闭eslint校验
Mar 21 #Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
Mar 21 #Javascript
使用Vue.js和Flask来构建一个单页的App的示例
Mar 21 #Javascript
JS代码实现电脑配置检测功能
Mar 21 #Javascript
You might like
利用php来自动调用不同服务器上的flash
2006/10/09 PHP
PHP中使用CURL伪造来路抓取页面或文件
2011/05/04 PHP
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
js最简单的拖拽效果实现代码
2010/09/24 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
解决Vue2.x父组件与子组件之间的双向绑定问题
2018/03/06 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
vue如何截取字符串
2019/05/06 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
python-pyinstaller、打包后获取路径的实例
2019/06/10 Python
python自动保存百度盘资源到百度盘中的实例代码
2019/08/26 Python
Python实现大数据收集至excel的思路详解
2020/01/03 Python
给 TensorFlow 变量进行赋值的方式
2020/02/10 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
html5 标签
2009/07/16 HTML / CSS
家庭睡衣和家庭用品:Little Blue House
2018/03/18 全球购物
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
Yahoo-PHP面试题2
2014/12/06 面试题
机修工岗位职责
2013/11/24 职场文书
高中毕业生生活的自我评价
2013/12/08 职场文书
会计自我鉴定
2014/02/04 职场文书
2015年小学中秋节活动总结
2015/03/23 职场文书
Python中rapidjson参数校验实现
2021/07/25 Python