js中的回调函数,什么是回调函数?

一. 回调函数的作用

js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数。

二. 回调函数的解释

因为函数实际上是一种对象,即是内置对象,它可以存储在变量中,通过参数传递给另一个函数,我们可以将它作为参数传递给另一个函数,到函数中执行,甚至执行后将它返回,它一直被“专业的程序员”看作是一种难懂的技术。

回调函数的英文解释为:

A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.

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

function A有一个参数function B,function B会在function A执行完成之后被调用执行。

首先定义两个function

function a(callbackFunction){
   alert("这是parent函数a");
   var m =1;
   var n=3;
  return callbackFunction(m,n);//function A执行完毕后的得到m,n两个变量,function B 用到这两个变量作为参数执行,在这执行回调函数后将其返回
 }

function b(m,n){
   alert("这是回调函数B");
   return m+n;
 }

$(function(){
   var result = a(b);//在这里function b作为一个变量传给了function a
   alert("result = "+ result);
 });

执行顺序为:

这是parent函数a

这是回调函数B

result = 4

函数首先执行了主题函数a,之后调用了回调函数b,最后返回函数a的返回值。

1.点击新增跟进列表,后弹出一个modal。传递了一个cusId 变量和switchCus方法进去modal。modal本来就是在本$(document)上的,所以在modal中可以直接使用cusId变量和switchCus方法。

在打开的modal中,点击上一个下一个时,执行从customerList.js页面那边传过来的方法switchCus。并且传了一个回调函数给switchCus方法作为参数。于是,在customerList.js页面执行完switchCus函数后,又以idArray作为回调函数的参数,再执行modal里的回调函数了。

原文地址:https://www.cnblogs.com/susan-home/p/8652596.html

时间: 2024-10-10 20:18:23

js中的回调函数,什么是回调函数?的相关文章

Js中常用的字符串,数组,函数扩展

由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展,一来可以练练手,二来也锻炼下自己的代码能力.由于代码里面的注释自认为已经非常详细,所以就直接贴代码了. 1. 字符串扩展: ;(function() { var method, stringExtends = { /** * 删除字符串开始和结尾的空白 * @returns {string} */ stri

JS中几种常见的高阶函数

高阶函数:英文叫Higher-order function.JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数. 一个最简单的高阶函数: function add(x, y, f) { return f(x) + f(y); } //当调用add(-5, 6, Math.abs)时,参数x,y和f分别接收-5,6和函数Math.abs,根据函数定义,可以推导计算过程为: //x = -5;

js中的Object.assign接受两个函数为参数的时候会发生什么?

缘由 今天看到一段代码 return Object.assign(func1, func2); 心生疑惑,为什么 Object.assign 的参数可以是函数? 于是有了下面这一堆东西,其实都是老生常谈的东西,可能是岁数大了吧,有些片段都快丢失了,哈哈 prototype js 中 万物皆是对象!!! proto(隐式原型)与 prototype(显式原型) 对象具有属性proto,可称为隐式原型 实例(对象)的 proto === 构造(该实例)函数的 prototype 函数 Functio

关于原生js中ie的attacheEvent事件用匿名函数改变this指向后,不能用detachEvent删除绑定事件的解决办法?

博客搬迁,给你带来的不便,敬请谅解! http://www.suanliutudousi.com/2017/11/28/%e5%85%b3%e4%ba%8e%e5%8e%9f%e7%94%9fjs%e4%b8%adie%e7%9a%84attacheevent%e4%ba%8b%e4%bb%b6%e7%94%a8%e5%8c%bf%e5%90%8d%e5%87%bd%e6%95%b0%e6%94%b9%e5%8f%98this%e6%8c%87%e5%90%91%e5%90%8e%e4%b8%8

js中的prototype和constructor

本文正确性有待商榷,高手路过请不吝指教 1.js中只有对象,包括对象,函数,常量等. 对象不用解释.函数也有属性,常见之一就是prototype.常量也有属性: (3).__proto__;//Number {} 2.函数的prototype 函数是一种特殊的对象,它可以直接通过小括号来执行自身代码. 函数还有一个特殊的属性prototype,它也是一个对象. prototype对象也有一个特殊的属性constructor,初始的时候它是指向该函数的. 也就是当js解释到function关键字的

JS中格式化数据保留两位小数

问题:在JS中格式化数据保留两位小数的函数的多种方法 最好方法: 保留两位好像是这样吧     var   a   =   9.39393;     alert(a.toFixed(2)); 说明: alert(Number.toFixed(9.39393));     返回的是9.39     但是只有ie5.5以上的版本才支持. 其它方法: 方法一: function   roundFun(numberRound,roundDigit)   //四舍五入,保留位数为roundDigit   

解析js中作用域、闭包——从一道经典的面试题开始

如何理解js中的作用域,闭包,私有变量,this对象概念呢? 就从一道经典的面试题开始吧! 题目:创建10个<a>标签,点击时候弹出相应的序号 先思考一下,再打开看看 //先思考一下你会怎么写,是不是这样? 可是结果呢,弹出来的都是10,为啥? var i,a for(i=0;i<10;i++){ a=document.createElement('a') a.innerHTML=i+'<br>' a.addEventListener('click',function(eve

js中的回调函数的理解和使用方法

一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为函数实际上是一种对象,它可以存储在变量中,通过参数传递给另一个函数,在函数内部创建,从函数中返回结果值",因为函数是内置对象,我们可以将它作为参数传递给另一个函数,到函数中执行,甚至执行后将它返回,它一直被"专业的程序员"看作是一种难懂的技术. 回调函数的英文解释为: A callback is a functi

js中的回调函数

回调就是一个函数的调用过程.那么就从理解这个调用过程开始吧.函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b.那么这个过程就叫回调. 其实中文也很好理解:回调,回调,就是回头调用的意思.函数a的事先干完,回头再调用函数b. 这里必须清楚一点:函数b是你以参数形式传给函数a的,那么函数b就叫回调函数. 也许有人有疑问了:一定要以参数形式传过去吗,我不可以直接在函数a里面调用函数b吗?确实可以.求解中. <解惑:如果你直接在函数a里调用的话,那么这个回调函数就被限制死了.但是使用函

node.js 中回调函数callback(转载),说的很清楚,看一遍就理解了

最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: 复制代码 代码如下: app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); app是对象,use是方法,方法的参数是一个带参的匿名函数,函数体直接在后面给出了.这段代码怎么理解呢?我们先来了解