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 相关文章推荐
如何编写高质量JS代码
Dec 28 Javascript
jquery 插件实现多行文本框[textarea]自动高度
Mar 04 Javascript
分享JavaScript监听全部Ajax请求事件的方法
Aug 28 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
Sep 14 Javascript
BootStrap 实现各种样式的进度条效果
Dec 07 Javascript
浅析JavaScript中var that=this
Feb 17 Javascript
BootStrap 导航条实例代码
May 18 Javascript
了解VUE的render函数的使用
Jun 08 Javascript
简单的三步vuex入门
May 20 Javascript
vue-iview动态新增和删除的方法
Jun 17 Javascript
JavaScript原始值与包装对象的详细介绍
May 11 Javascript
使用react+redux实现计数器功能及遇到问题
Jun 02 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根据身份证号码计算年龄的实例代码
2014/01/18 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
Yii基于数组和对象的Model查询技巧实例详解
2015/12/28 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
JS的反射问题
2010/04/07 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
js实现倒计时及时间对象
2016/11/15 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
Vue获取页面元素的相对位置的方法示例
2020/02/05 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
python实现二叉查找树实例代码
2018/02/08 Python
python批量修改图片大小的方法
2018/07/24 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
如何在C# winform中异步调用web services
2015/09/21 面试题
一套Delphi的笔试题一
2016/02/14 面试题
煤矿班组长竞聘书
2014/03/31 职场文书
股份合作协议书
2014/09/10 职场文书
代办出身证明书
2014/10/21 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
java项目构建Gradle的使用教程
2022/03/24 Java/Android