`
阅读更多
回调函数(Callback Functions)
因为函数和其他数据一样可以被赋值,删除,拷贝等,所以也可以把函数作为参数传入到另一个函数中。
实例一
Js代码  收藏代码
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.提高了程序的性能。

-------------------
回调什么时候执行

回调函数,一般在同步情境下是最后执行的,而在异步情境下有可能不执行,因为事件没有被触发或者条件不满足。

回调函数的使用场合

资源加载:动态加载js文件后执行回调,加载iframe后执行回调,ajax操作回调,图片加载完成执行回调,AJAX等等。
DOM事件及Node.js事件基于回调机制(Node.js回调可能会出现多层回调嵌套的问题)。
setTimeout的延迟时间为0,这个hack经常被用到,settimeout调用的函数其实就是一个callback的体现
链式调用:链式调用的时候,在赋值器(setter)方法中(或者本身没有返回值的方法中)很容易实现链式调用,而取值器(getter)相对来说不好实现链式调用,因为你需要取值器返回你需要的数据而不是this指针,如果要实现链式方法,可以用回调函数来实现
setTimeout、setInterval的函数调用得到其返回值。由于两个函数都是异步的,即:他们的调用时序和程序的主流程是相对独立的,所以没有办法在主体里面等待它们的返回值,它们被打开的时候程序也不会停下来等待,否则也就失去了setTimeout及setInterval的意义了,所以用return已经没有意义,只能使用callback。callback的意义在于将timer执行的结果通知给代理函数进行及时处理。

回调函数的传递
上面说了,要将函数引用或者函数表达式作为参数传递。

$.get('myhtmlpage.html', myCallBack);//这是对的
$.get('myhtmlpage.html', myCallBack('foo', 'bar'));//这是错的,那么要带参数呢?
$.get('myhtmlpage.html', function(){//带参数的使用函数表达式
myCallBack('foo', 'bar');
});
分享到:
评论

相关推荐

    js 回调函数

    JS 回调函数参数传递方法总结 JS 回调函数是一种非常常用的编程技术,然而,在实际应用中,我们经常会因为向回调函数中传参而感到头疼。今天,我们将总结一下向回调函数中传参的方法,以便在以后的应用中不用再到处...

    js回调函数的使用技巧和认识

    js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数...

    js回调函数示例

    JavaScript回调函数是异步编程的一种常见模式,它在JavaScript中扮演着至关重要的角色,尤其是在处理I/O操作、网络请求和时间间隔等耗时任务时。本文将深入探讨JavaScript回调函数的概念、工作原理以及如何在实际...

    js回调函数.doc文档

    总的来说,JavaScript回调函数是异步编程的核心工具,它们帮助我们在单线程环境中处理复杂的异步任务,但同时也需要谨慎处理,避免回调地狱的问题。通过学习和掌握回调函数的使用,开发者能够更好地构建高效、响应式...

    JavaScript回调函数面试题.zip

    JavaScript回调函数是JavaScript异步编程的核心机制之一,它在处理事件、网络请求、定时任务等方面发挥着重要作用。本文将深入探讨JavaScript回调函数的概念、特点、使用场景以及面试中常见的问题。 **1. 回调函数...

    javascript回调函数详解参考.docx

    以下是一些关于JavaScript回调函数的关键点: 1. **回调函数定义**:回调函数是一个作为参数传递给其他函数的函数,这个参数通常是一个函数引用。当外部函数执行完毕或满足特定条件时,它会调用这个传递进来的函数...

    JavaScript回调函数面试题.docx

    ### JavaScript回调函数知识点详解 #### 一、回调函数的基本概念 **回调函数**是JavaScript中一种重要的编程模式,尤其在处理异步操作时显得尤为重要。简单来说,回调函数就是一个通过参数传递给另一个函数的函数...

    浅析JavaScript回调函数应用_.docx

    JavaScript回调函数是编程中一种常见的技术,特别是在异步编程领域。回调函数允许我们将一个函数作为参数传递给另一个函数,以便在特定条件满足时执行。这种技术在JavaScript中尤为重要,因为JavaScript是单线程的,...

    js 回调函数 2023最新版.rar

    JavaScript回调函数是编程中一种常见的处理异步操作的方式,尤其在Web开发中,它们是JavaScript事件驱动模型的核心。本文将深入探讨回调函数的概念、用法、优缺点,并结合实际示例来帮助理解。 ### 一、回调函数...

    理解和使用 JavaScript 中的回调函数

    ### 理解和使用 JavaScript 中的回调函数 在 JavaScript 中,回调函数是一种常见的功能编程技术,被广泛应用于各种场景之中。本文旨在深入探讨回调函数的概念、工作原理以及如何在实际开发中应用它们。 #### 一、...

    帮助理解回调函数的简洁实例

    例如,一个简单的JavaScript回调函数用法可能是: ```javascript function doSomethingAsync(callback) { setTimeout(() => { // 异步操作 callback('操作已完成'); }, 1000); } function logResult(result) {...

    js回调函数的介绍和使用

    JavaScript中的回调函数是异步编程的核心机制之一,它在处理事件驱动和非阻塞I/O操作时发挥着关键作用。回调函数的主要目的是解决程序执行顺序的问题,特别是在处理那些需要等待某些操作完成才能继续执行的场景。 ...

    ocx中事件函数,调用js中的回调函数

    3. **OCX事件触发**:当OCX控件的某个事件发生时,其内部的事件函数会被执行,然后这个函数会查找并调用预先注册的JavaScript回调函数。 4. **数据传递**:事件函数可以通过参数或者某种约定的方式(如通过全局变量...

    javascript 回调函数示例

    javascript 回调函数示例

    [JavaSrcipt]-JS回调函数.pdf

    JavaScript中的回调函数是一种重要的编程模式,它主要用于处理异步操作,确保在特定任务完成之后执行特定的代码。回调函数的基本概念是将一个函数作为参数传递给另一个函数,然后在内部函数执行完毕时调用这个传递的...

    LCalendar最新版 移动端时间控件添加回调函数

    改动主要集中在JavaScript文件上,添加了名为"DaDaCallBack"的回调函数。这个回调函数的目的是在用户在LCalendar中选择完日期或时间并点击确定按钮后执行。通过这样的设计,开发者可以自定义在用户完成日期选择后的...

    javascript 回调函数详解

    JavaScript中的回调函数是一种重要的编程模式,它允许我们将一个函数作为参数传递给另一个函数,以便在特定条件下或事件发生时执行。这种技术广泛应用于处理异步操作,如Ajax请求、定时器(setTimeout和setInterval...

    JS回调函数原理与用法详解【附PHP回调函数】

    本文实例讲述了JS回调函数原理与用法。分享给大家供大家参考,具体如下: JS回调函数 何为回调函数,官方解释:当程序跑起来时,一般情况下,应用程序(application program)会时常通过API调用库里所预先备好的函数...

    回调函数被连续执行两次或多次的原因

    ### 回调函数被连续执行两次或多次的原因 在编程领域,回调函数是一种常见的编程模式,它允许将函数作为参数传递给另一个函数,并在适当的时机由后者调用。这种模式非常有用,尤其是在处理异步操作时。然而,在某些...

Global site tag (gtag.js) - Google Analytics