`
风雪涟漪
  • 浏览: 496850 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:8764
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:17660
社区版块
存档分类
最新评论

Javascript 函数 (三) 回调函数(Callback Functions)

阅读更多

回调函数(Callback Functions)

因为函数和其他数据一样可以被赋值,删除,拷贝等,所以也可以把函数作为参数传入到另一个函数中。

实例一

function invoke_and_add(a,b){
  return a()+b();
}

function one(){
  return 1;
}

function two(){
  return 2;
}

invoke_and_add(one ,two);

结果为3;

再来看看匿名函数的用法。

实例二

invoke_and_add(function(){return 1;},function(){return 2;})

我们用匿名函数替代了 one,two两个函数。

通过上面两个实例,回调函数的定义为:传递一个函数A到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称,就叫做匿名回调函数

 

回调函数的作用

主要有三个

1.当函数作为参数传递的时候,不用为这个函数定义一个名称,这样的好处是减少了全局变量。

2.节省了大量的代码。

3.提高了程序的性能。

 

 

分享到:
评论
5 楼 石斧砍柴好慢 2012-07-16  
标记之!!
4 楼 风雪涟漪 2009-03-10  
ywt_go 写道

<script type="text/javascript">
function invoke_and_add(a,b){  
  return a+b;   //A  
 
function one(){  
  return 1;  
}  
 
function two(){  
  return 2;  
}  
 
document.write(invoke_and_add(one ,two));

</script>

如果这样写的话,会得到结果:
function one(){ return 1; }function two(){ return 2; }
只是把两个函数给连接起来输出来了。
A处为什么会自动先转换成字符串然后连接,而不是先把1+2=3后再转换成字符串呢?
retrun a()+b();这样写也成?怎么解释呢

Functions are data ....a(),b()是函数的调用。。a,b是个值。
3 楼 ywt_go 2009-03-10  
<script type="text/javascript">
function invoke_and_add(a,b){  
  return a+b;   //A  
 
function one(){  
  return 1;  
}  
 
function two(){  
  return 2;  
}  
 
document.write(invoke_and_add(one ,two));

</script>

如果这样写的话,会得到结果:
function one(){ return 1; }function two(){ return 2; }
只是把两个函数给连接起来输出来了。
A处为什么会自动先转换成字符串然后连接,而不是先把1+2=3后再转换成字符串呢?
retrun a()+b();这样写也成?怎么解释呢
2 楼 风雪涟漪 2008-12-26  
就是传参的函数。。我马上改下说法。。。。呵呵
1 楼 hite 2008-12-26  
“通过上面两个实例,回调函数的定义为:传递一个函数到另一个函数中,并且这个函数被执行了。我们就说这个叫做回调函数。如果没有名称,就叫做匿名回调函数”
-------
没看懂.不知道说的‘这个’是‘一个’还是‘另一个’,或者还有第三个函数?

相关推荐

    Callback-Functions-in-[removed]此存储库包含 JavaScript 回调的演示

    JavaScript 中的回调函数几年前,我去了一家名为“The Inefficients”的餐厅。 跟上他们的名字,他们一直保持以下工作方式: 餐厅里有10张桌子,大约有6张桌子被占用。 首先,贝瑞先生来了,占据了 1 号桌,然后波莉...

    Callback-Functions:第6周

    回调函数第6周:回调函数一,文件清单回调函数和数组-Microsoft Word文档callbackFunctionExercise-JavaScript文件wordCountExercise-HTML文件sortingNumbersExercise-HTML文件二。 概念word文档定义了回调函数以及...

    async-javascript:JavaScript中的异步编程

    这是在JavaScript中使用回调函数的本质。 回调函数是一个作为参数传递给另一个函数(称为另一个函数“ otherFunction”)的函数,该回调函数在otherFunction内部被调用(或执行)。 //Note that t

    redux-saga-callback:redux-saga辅助函数等待调度的动作

    redux-saga回调 在redux-saga应用程序的正常流程中,可能会希望在某些情况下要在由分派操作触发的传奇完成后得到通知。 该库的目的是提供一些帮助程序功能以实现该功能。 安装 npm i redux-saga-callback 用法 ...

    react-tabllist:基于React的可定制样式表或列表组件,支持事件和回调函数

    支持事件,回调函数和自定义样式的基于React的列表(表)组件。 English | 安装 npm install react-tabllist --save 用法 在浏览器中使用 &lt; script src =" ...

    jquery电子文档chm

    为正确的函数名,以执行回调函数。数据类型设置为 "jsonp" 时,jQuery 将自动调用回调函数。 -------------------------------------------------------------------------------- Load a remote page using an ...

    grouped_callbacks

    概述在某些情况下,我们必须管理许多回调,尤其是在JavaScript中。 通过分组,分组,GroupedCallbacks可以帮助管理许多回调。用法GroupedCallbacks可用作AMD模块, require d模块或全局对象。 GroupedCallbacks是一...

    node-argx:Node.js模块来解析函数参数

    argx 解析函数参数。 对实现可变参数功能很有用。安装npm install argx --save用法将arguments对象传递到arguments内的.argx() 。 /** * This is an example to declare an variadic functions. */'use strict'const...

    jQuery详细教程

    三. jQuery 事件函数 jQuery 事件处理方法是 jQuery 中的核心函数。 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。 通常会把 jQuery 代码放到 部分的...

    DWR.xml配置文件说明书(含源码)

    DWR共有三种Creator,最简单的”new”是调用bean的默认构造函数创建实例.”scripted”允许采用其他脚本语言创建实例.如BeanShell.在远程bean的默认构造函数不能进行进一步配置的情况下这种类型的creator比较有用.”...

    parallizer:异步函数助手

    Parallizer 是一种使异步函数的工作变得更加容易的工具。 安装 $ npm install parallizer --save 例子 var Parallizer = require ( 'parallizer' ) // creates a new Parallizer object // that will only run 3 ...

    wordpress-wechat:把 WordPress 做成小程序

    WordPress的微信需要在wordpress中添加一个自定义函数放在您模板的functions.php中function ws_register_other_field () { register_rest_field ( 'post' , 'other' , array ( 'get_callback' =&gt; 'ws_get_other_func...

Global site tag (gtag.js) - Google Analytics