JavaScript callback回调函数

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件

回调函数

A callback function is a function passed into another function as an argument, which is then invoked inside the outer function to complete some kind of routine or action.

大意是:可以把一个函数作为另外一个函数的参数传入,以此能在它的内部调用不同外部的函数来完成不同的事情。

主函数(起始函数)、中间函数、回调函数。

回调机制的优势

在回调中,可以利用某种方式把回调函数传入中间函数。在传入一个函数之前,中间函数是不完整的。程序可以在运行时,通过登记不同的回调函数,来决定改变中间函数的行为,比简单的函数调用要更加灵活。

通常中间函数和回调函数是两个必要部分,JavaScript中有时候会直接忽略起始函数,直接调用中间函数。值得一提的是,可以使用命名函数或匿名函数作为回调函数。

// 回调函数
function greeting1(name) {
alert('Good morning!' + name); // 响应回调事件
} funtion greeting2(name) {
alert('Good afternoon!' + name);
} // 中间函数
function processUserInput(callback) { // 把回调函数传入中间函数的动作为登记回调函数
var name = prompt('Please enter your name'); // 触发回调事件
callback(name); // 调用回调函数
} // 起始函数
function init() {
processUserInput(greeting1);
processUserInput(greeting2);
processUserInput(function(name){
alert('Good evening' + name);
});
}

参考资料

JavaScript Callback 回调函数的更多相关文章

  1. v-if和v-show的区别以及callback回调函数的体会

    今天总结一下最近一周碰到的一些问题 一.v-if和v-show的区别 v-show用的是css属性中的display="block/none",元素被隐藏了但是节点还在页面中,但是 ...

  2. Javascript之回调函数(callback)

    1.回调函数定义: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方 ...

  3. 如何写JavaScript中的callback回调函数

    如何写回调函数? 如果自己在写一个方法或函数,你有可能会遇到需要一个回调函数.下面就是一个简单的常见回调函数例子: function mySandwich(param1, param2, callba ...

  4. JavaScript中回调函数的使用

    在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A.我们就说函数A叫做回调函数.如果没有名称(函数表达式),就叫做匿名回调函数. ...

  5. 告诉你什么是javascript的回调函数

    函数也是对象 想弄明白回调函数,首先的清楚地明白函数的规则.在javascript中,函数是比较奇怪的,但它确确实实是对象.确切地说,函数是用Function()构造函数创建的Function对象.F ...

  6. JavaScript 之 回调函数的返回值给全局变量赋值问题

    jQuery 中,会遇到$.get(url,data,callback,type) 或 $.post(url,data,callback,type) 返回值给全局变量赋值的问题: 例如: <sc ...

  7. javascript的回调函数

    函数也是对象 想弄明白回调函数,首先的清楚地明白函数的规则.在javascript中,函数是比较奇怪的,但它确确实实是对象.确切地说,函数是用Function()构造函数创建的Function对象.F ...

  8. javascript的回调函数 同步 异步

    后一个任务等待前一个任务结束再执行.程序执行顺序与任务排列顺序一致的,同步的. 参考: http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%B ...

  9. Javascript-回调函数浅谈

    回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定 ...

随机推荐

  1. Trie树【洛谷P3879】 [TJOI2010]阅读理解

    P3879 [TJOI2010]阅读理解 题目描述 英语老师留了N篇阅读理解作业,但是每篇英文短文都有很多生词需要查字典,为了节约时间,现在要做个统计,算一算某些生词都在哪几篇短文中出现过. 输入输出 ...

  2. vue模拟后台数据,请求本地数据的配置(旧版本dev-server.js,新版本webpack.dev.conf.js)

    最近学习一个vue-cli的项目,需要与后台进行数据交互,这里使用本地json数据来模仿后台数据交互流程.然而发现build文件夹下没有dev-server.js文件了,因为新版本的vue-webpa ...

  3. python Exception

    1.except:用来捕捉异常,如果没有捕捉到,则向上层exception传递 2.finally:用来保证其代码一定会执行,可以做收尾工作,比如关闭文件等等. 3.在with as 中, 4.try ...

  4. Python学习【第五篇】:面向对象及相关

    面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 c ...

  5. springboot整合mybatis,redis,代码(二)

    一 说明: springboot整合mybatis,redis,代码(一) 这个开发代码的复制粘贴,可以让一些初学者直接拿过去使用,且没有什么bug 二 对上篇的说明 可以查看上图中文件: 整个工程包 ...

  6. FileReader 方法 实现预览图片

    FileReader 方法 方法名 参数 描述 abort none 中断读取 readAsBinaryString file(blob) 将文件读取为二进制码 readAsDataURL file( ...

  7. POJ_3414 Pots 【复杂BFS】

    一.题面 You are given two pots, having the volume of A and B liters respectively. The following operati ...

  8. Poj:1064 : :Cable master (假定一个解并判断是否可行)(二分搜索答案)

    Description Inhabitants of the Wonderland have decided to hold a regional programming contest. The J ...

  9. PIE SDK矢量数据简单渲染

    1. 功能简介 PIE SDK对数据的符号化分为矢量数据渲染和栅格数据渲染两大类. 目前PIE SDK中针对矢量数据渲染包括简单渲染.唯一值渲染.分级渲染.自定义渲染:针对栅格数据渲染包括拉伸渲染.R ...

  10. oracle 查看一个表中的记录是否被锁住

    SELECT a.object_id, a.session_id, b.object_nameFROM v$locked_object a, dba_objects bWHERE a.object_i ...