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的IE和Firefox兼容性汇编
Jul 01 Javascript
jquery $.each()使用探讨
Sep 23 Javascript
在JavaScript中使用timer示例
May 08 Javascript
跟我学习javascript的循环
Nov 18 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
Feb 18 Javascript
Bootstrap基本样式学习笔记之表单(3)
Dec 07 Javascript
js实现模糊匹配功能
Feb 15 Javascript
js数组去重的N种方法(小结)
Jun 07 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
Dec 11 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 jQuery
小程序实现搜索框
Jun 19 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
Apr 17 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
Zend 输出产生XML解析错误
2009/03/03 PHP
Laravel日志用法详解
2016/10/09 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
Javascript中的数学函数
2007/04/04 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
vue实现简单的登录弹出框
2020/10/26 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
python中Genarator函数用法分析
2015/04/08 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Python 通过URL打开图片实例详解
2017/06/01 Python
python select.select模块通信全过程解析
2017/09/20 Python
django的settings中设置中文支持的实现
2019/04/28 Python
Python3内置模块random随机方法小结
2019/07/13 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
基于python实现地址和经纬度转换
2020/05/19 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
七年级音乐教学反思
2014/01/26 职场文书
开票员岗位职责
2015/02/12 职场文书
研讨会通知
2015/04/27 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang