javascript回调函数的理解和使用方法(callback)教程视频_函数菜鸟教程

js回调函数的作用?在js开发中,程序代码是从上而下一条线执行的,但有时候我们需要等待一个操作结束后,再进行下一步操作,这个时候就需要用到回调函数。 举个例子:比如你到商场买东西,刚好没有你需要的货品,这时候你留下电话,店里有货了救让店员通知你,然后你接到电话到店里取到了货。这里的电话号码就可看做回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫

javascript回调函数的理解和使用方法(callback)教程视频

js回调函数的作用?

在js开发中,程序代码是从上而下一条线执行的,但有时候我们需要等待一个操作结束后,再进行下一步操作,这个时候就需要用到回调函数。  举个例子:

javascript回调函数的理解和使用方法(callback)教程视频_函数菜鸟教程

比如你到商场买东西,刚好没有你需要的货品,这时候你留下电话,店里有货了救让店员通知你,然后你接到电话到店里取到了货。这里的电话号码就可看做回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。(引用知乎常溪玲的回答,链接:https://www.zhihu.com/question/19801131/answer/13005983)

回调函数的解释 : 

在js中,函数也是对象,确切地说:函数是用Function()构造函数创建的Function对象。它就可以存储在变量中,通过参数传递给另一个函数,在函数的内部创建,而函数中返回结果值。因为函数是内置对象。我们可以作为参数传递给另一个函数,到函数中执行,甚至执行后将他返回。 

 回调函数的英文解释为:A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.

翻译过来就是:回调函数是一个作为变量传递给另外一个函数的函数,它在主体函数执行完之后执行。

回调函数的使用 : 

函数b以一个参数的形式传入函数a并执行,顺序是先执行a ,然后执行参数b,b就是所谓的回调函数。我们先来看下面的例子: 

function  a(callback){
      console.log('a');
      callback.call(this);//或者是 callback(),  callback.apply(this),都可以的
}
function  b(){
     console.log('b');
}
//调用
a(b);//打印:a b

在实际的应用场景:比如一个函数的实现过程比较长,你是选择等待函数执行完再继续,还是使用回调函数进行处理呢?例如:ajax异步请求,如果使用回调函数,代码就可以继续进行其他任务,而无需等待!  

海计划公众号
(0)
上一篇 2020/04/05 01:53
下一篇 2020/04/05 01:53

您可能感兴趣的内容

  • Web前端的路该怎么走?菜鸟教程_前端基础知识入门

    Web前端的路该怎么走?这是作者张鑫旭的文章中的一个小部分,觉得非常有必要分开列出来。关于前端的路该如何走,一般都是工作1年作用或者正在想入职前端的小伙伴经常遇到的十大常见问题之一。问题描述如下:刚刚毕业,在公司一直做的是前端开发,之前都是自己去学习一些基础的前端知识(html+css+js)。到现在越来越迷茫,不知道自己该去学哪方面的。 在学校学的都是一些

    2020/03/26
  • vue-loader小白知识_用于Vue.js组件的Webpack loader

    vue-loader小白知识 GitHub:https://github.com/vuejs/vue-loader 简介描述:用于Vue.js组件的Webpack loader v…

    2020/03/11
  • seajs小白常识_一个web的模块加载器

    seajs小白常识 官方网址:https://seajs.github.io/seajs/ GitHub:https://github.com/seajs/seajs 简介描述:一…

    2020/03/06
  • 关于Js防抖与节流的思考小白知识_优化攻略教程

    1,比较正式的解释他们的区别:防抖:就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间,防抖注重结果节流::是让一个函数无法在很短的时间间隔内连续调用,当上一次执行完之后过了规定的时间间隔,才能进行下一次的函数调用,节流注重过程2,非官方解释 防抖:A打了一个B一下,B开始哭(假设哭5分钟),在这5分钟内A一

    Web前端 2020/03/26
  • weapp.socket.io使用教程_基于小程序的websocket的socket.io实现

    weapp.socket.io使用教程 官方网址:http://weappsocket.matong.io GitHub:https://github.com/weapp-sock…

    2020/03/06
  • js blob流和base64,以及file和base64的相互转换菜鸟知识_blob入门教程

    file和base641.file文件转换为base64,得到base64格式图片var reader = new FileReader();
    reader.readAsDataURL(this.files[0]);
    reader.onload = function(){console.log(reader.result); //获取到base64格式图片

    2020/03/29
  • TypeScript基础类型与联合类型基础知识_类型小白入门

    TypeScript对它的学习其实是在前年就开始了,后面一直没有机会在项目中使用,直到最近我司开发小程序,使用京东的taro才算真正了。使用的过程中,发现对其基本知识点并没有通透,所以才想到要记录学习的过程。在使用的过程中,它最大的特点其实就是数据类型的定义。基础类型的定义字符串类型let name: string = ‘Mondo’布尔类型let isDo

    2020/03/29
  • 微助点指南教程_免费在线公众号编辑器

    微助点指南教程 官方网址:http://www.videaba.com/ 简介描述:免费在线公众号编辑器 「微助点编辑器」是一家老牌的公众号编辑器工具,帮助公众号运营者轻松的撰写公…

    2020/03/11
  • vue 基础知识入门 webpack 前端性能优化入门知识_性能

    背景对于程序开发者而言,开发一个项目不仅仅注重效率和功能,前端的性能问题也是非常重要的。这直接影响用户的体验,从而间接的也反应该项目质量的好坏。 影响项目性能的原因有很多,如:资源文件的大小,业务的繁杂程度等,所以前端优化的方式也很多。这些东西很零碎,容易被人遗忘。优化一: vue-router路由懒加载懒加载: 也叫延迟加载,即在需要的时候进行加载,随用随

    2020/03/20
  • 使用CSS实现图片帧动画与曲线运动入门百科_动画使用帮助

    写在前面在前端开发中,提到动画,我们可以:直接利用DOM实现动画。利用canvas实现动画。利用svg实现动画。直接用一张gif动图。利用图片实现帧动画。…所有动画的基本原理都是:在短时间内连续依次展示对应的图片,这样在视觉上看起来就是’动’的了。本文主要来说一说第4点和第5点。图片帧动画当我们要实现的动画效果比较复杂,而且开发排期比较紧的情况下,用一张

    2020/03/24
  • 改造vue-cli,使用mockjs搭建mock server指南攻略_cli小白攻略

    关于最近准备开发一款web应用,考虑到可能会有前后端并行开发的场景,所以决定使用mockjs做mock server。浏览官网文档时发现没有跑在webpack上的例子,索性自己找方法解决。什么是mockjs?他的使用场景是什么?当前端工程师需要独立于后端并行开发时,后端接口还没有完成,那么前端怎么获取数据?这时可以考虑前端搭建web server自己模拟假数

    2020/04/03
  • meta标签中的http-equiv属性使用入门教程_标签入门基础知识

    http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。 meta标签的http-equiv属性语法格式是: 其中http-equ

    2020/03/24
  • 码农网小白入门_程序员编程资料和编程经验分享平台

    码农网小白入门 官方网址:http://www.codeceo.com/ 简介描述:程序员编程资料和编程经验分享平台 程序员编程资料和编程经验分享平台码农网是一个专注程序员编程资料…

    2020/03/06
  • 浅谈对soket的理解入门基础_soket使用指南

    定义:网络上的两个程序通过一个双向的通信链实现数据的交换,这个链接的一端就成为Socket它是进程通信的一种,即调用这个网络库的api函数实现分布在不同主机相关进程之间的数据交换,依照tcp/ip协议分给每个主机的网络地址,如果两个主机要进行通信,任何一个进程都要首先知道对方的网络地址,也可以说是对方的IP。端口号用来辨别本地进程,一个本地的进程通信时,,都

    2020/04/03
  • Table Convrt入门基础教程_在线表格转换工具

    Table Convrt入门基础教程 官方网址:https://tableconvert.com/ 简介描述:在线表格转换工具 Table Convrt是一个功能强大的在线表编辑器…

    2020/03/10
  • limejs基础知识教程_开发现代触控设备与桌面浏览器上本地化体验游戏的HTML5框架

    limejs基础知识教程 官方网址:http://www.limejs.com GitHub:https://github.com/digitalfruit/limejs 简介描述…

    2020/03/06