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

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  
“通过上面两个实例,回调函数的定义为:传递一个函数到另一个函数中,并且这个函数被执行了。我们就说这个叫做回调函数。如果没有名称,就叫做匿名回调函数”
-------
没看懂.不知道说的‘这个’是‘一个’还是‘另一个’,或者还有第三个函数?

相关推荐

    JavaScript.教程

    回调函数 (Callback Functions) 回调函数是一种常用的异步编程技术,用于指定函数执行完毕后所执行的操作。例如: ```javascript function doSomething(callback) { // 执行一些操作... callback(); } ...

    form表单的异步回调方法

    4. **回调函数(Callback Functions)**:在异步请求中,我们通常需要定义回调函数来处理服务器的响应。对于`fetch`,可以使用`.then`和`.catch`来处理成功的响应和错误。对于`XMLHttpRequest`,可以监听`...

    javascript高级 笔记

    Promise是JavaScript处理异步操作的重要工具,它可以解决回调地狱(callback hell)问题。通过链式调用,Promise可以清晰地组织异步流程。现代JavaScript还引入了async/await,它们基于Promise,提供了更接近同步...

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

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

    Callback-Functions:第6周

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

    [JavaScript][PDF][英文版]Oh My JS

    17. Callback Hell(回调地狱):这是指在异步编程中,深层嵌套的回调函数使得代码可读性和可维护性变差,这部分内容可能介绍了如何避免或处理回调地狱。 18. Understanding Express.js(理解Express.js):Express...

    javascript animate 动画

    6. **回调函数**:动画完成后,可能需要执行某些清理工作或触发其他事件,因此提供一个回调函数参数是必要的。 以下是一个简单的原生JavaScript `animate()`实现示例: ```javascript function animate(element, ...

    javascript高级教程

    - **回调函数**: 函数作为另一个函数的参数传递,通常用于异步操作。 ```javascript function process(data, callback) { // 处理数据 callback(result); } process(someData, function(result) { console....

    javascript实现动态导入js与css等静态资源文件的方法.docx

    - `$import` 函数接受三个参数:`rId`(资源 ID)、`res`(资源路径)和 `callback`(加载完成后的回调函数)。 2. **检查资源是否已存在**: - 如果提供了 `rId` 并且已经存在对应的 `&lt;script&gt;` 或 `&lt;link&gt;` ...

    async-javascript:JavaScript中的异步编程

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

    【Web网页设计制作-毕业设计期末大作业】HTML、CSS、JavaScript前端网页项目源码H196.zip

    此外,事件监听(event handling)和回调函数(callback functions)用于响应用户操作,如点击按钮、滚动页面等。AJAX(Asynchronous JavaScript and XML)技术则允许异步更新页面,提升用户体验。 这个项目源码H...

    一个简单的JavaScript聊天机器人,带有指向智能API的链接。_JavaScript_CSS_下载.zip

    这通常通过事件监听器(event listeners)和回调函数(callback functions)实现。 CSS(Cascading Style Sheets)则用于定义聊天机器人的视觉样式。它可以控制布局、颜色、字体等元素,使机器人界面更加吸引人且...

    Javascript 中文帮助

    13. **回调函数(Callback Functions)**: 作为参数传递给另一个函数,用于在特定任务完成后执行。 14. **Promise**:处理异步操作的机制,提供了一种更好的错误处理方式和非阻塞代码的编写模式。 15. **async/await...

    js和swift互调

    4. **Callback Functions / Promises**: 在 Swift 中定义回调函数,然后传递给 JavaScript 执行,当 JavaScript 完成某些操作后,通过回调返回结果。另外,可以利用 Promise 对象来处理异步操作,使得通信更加流畅。...

    Javascript-Concurrente:用于解释Javascript并发的教程代码

    2. **回调函数(Callback Functions)** 在JavaScript中,回调函数是最常见的处理并发的方式。当你异步执行一个操作(如网络请求或定时器)时,你会提供一个回调函数,该函数会在操作完成时被调用。 3. **Promise*...

    Async-JavaScript

    回调函数(Callback Functions) 早期的异步处理主要依赖回调函数。当一个异步操作完成时,会调用预先定义好的回调函数。例如,`XMLHttpRequest`对象的`onreadystatechange`或`addEventListener('load', callback)`...

    jQuery实现的流畅度非常好的图片切换效果源码.zip

    5. **回调函数(Callback Functions)**:在动画完成时,可以设置回调函数,确保下一张图片在当前图片完全显示或隐藏后加载,保持动画的连贯性。 6. **数据属性(Data Attributes)**:可以使用jQuery的`.data()`...

    Javascript实现组合查询

    三、自定义函数(Callback Functions) 为了实现更复杂的查询逻辑,可以编写自定义函数来处理数据。这些函数可以接受多个参数,比如查询条件,然后在内部执行相应的逻辑。 ```javascript function combineQueries...

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

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

    Learning ECMAScript 6

    Promise可以解决回调地狱(Callback Hell)的问题,并允许我们以更接近同步的方式编写异步代码。 最后,ES6的代理(Proxy)和反射(Reflect)机制赋予了开发者控制对象行为的能力。代理对象可以拦截并重新定义基本...

Global site tag (gtag.js) - Google Analytics