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 相关文章推荐
快速使用Bootstrap搭建传送带
May 06 Javascript
jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍
Jun 24 Javascript
详解Angular2中的编程对象Observable
Sep 17 Javascript
jquery对Json的各种遍历方法总结(必看篇)
Sep 29 Javascript
jQuery实现最简单实用的分秒倒计时
Feb 05 Javascript
javaScript和jQuery自动加载简单代码实现方法
Nov 24 jQuery
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 Javascript
js中getBoundingClientRect的作用及兼容方案详解
Feb 01 Javascript
Vue 中对图片地址进行拼接的方法
Sep 03 Javascript
vue权限问题的完美解决方案
May 08 Javascript
小程序和web画三角形实现解析
Sep 02 Javascript
微信小程序个人中心的列表控件实现代码
Apr 26 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
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
Array.prototype 的泛型应用分析
2010/04/30 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
python 实时遍历日志文件
2016/04/12 Python
python 链接和操作 memcache方法
2017/03/04 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
Pytorch十九种损失函数的使用详解
2020/04/29 Python
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
机电一体化大学生求职信
2013/11/08 职场文书
毕业生求职的求职信
2013/12/05 职场文书
怎样写好创业计划书的内容
2014/02/06 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
结婚典礼致辞
2015/07/28 职场文书
2015中秋祝酒词
2015/08/12 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
五年级作文之成长
2019/09/16 职场文书