美文网首页
普通函数和回调函数

普通函数和回调函数

作者: 早起的鸟儿 | 来源:发表于2019-10-30 15:04 被阅读0次

一、回调函数(异步操作)就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
很多时候,回调是一个当某些事件发生时被调用的方法。

1.回调函数的作用
js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数
回调函数是一个作为变量传递给另外一个函数的函数,从上至下执行,遇到调用执行函数a,然后执行回调函数,然后执行主函数回调后面的语句,但因为是return 所以不会打印出 ‘这是parent函数a’,执行完主函数,执行调用以后的语句result = 4
2.回调函数的使用:
例子1:

function a(callBack) {
    var m = 1;
    var n = 3;
    return callBack(m, n);
    console.log("这是parent函数a");
}
function b(m, n) {
    console.log("这是回调函数B");
    return m + n;
}
(function () {
    var result = a(b);
    console.log("result = " + result);
})();

结果:

这是回调函数B
4

例子1:

function a(callBack) {
    var m = 1;
    var n = 3;
    callBack(m, n);
    console.log("这是parent函数a");
}
function b(m, n) {
    console.log("这是回调函数B");
    return m + n;
}
(function () {
    var result = a(b);
    console.log("result = " + result);
})();

结果:

这是回调函数B
这是parent函数a
result = undefined //因为没有把结果return回来

例子2:

console.log(1);
function f(callback) {
    console.log(2);
    callback()
    console.log(9)
}
function b() {
    console.log(5);
}
f(b)
console.log(4);

//1 2 5 9 4
console.log(1);
function f(callback) {
    console.log(2);
    callback()
    console.log(9)
}
function b() {
    console.log(5);
}
console.log(10)
f(b)
console.log(4);

//1 10 2 5 9 4

两者函数调用方式的区别:
1、对普通函数(同步操作)的调用:调用程序发出对普通函数的调用后,程序执行立即转向被调用函数执行,直到被调用函数执行完毕后,再返回调用程序继续执行。从发出调用的程序的角度看,这个过程为“调用-->等待被调用函数执行完毕-->继续执行”。

  1. 回调函数(异步操作)的调用:从上而下执行代码,打印1,10,遇到f(b)调用,打印2,接着遇到回调函数的调用,打印5,执行完回调函数,回到主函数打印9,主函数执行完以后打印4,回调函数意思就是函数b不需要等到函数f结束以后再执行,如果是普通函数,则函数b需要等到函数f执行完以后再执行。

相关文章

  • ★ 回调函数、闭包

    普通函数和回调函数有什么区别? 什么是闭包? 普通函数和回调函数主要是在调用方式上的区别: 普通函数的调用:调用程...

  • Android使用suspendCancellableCorou

    普通的回调函数: 回调方法,模拟耗时操作 去掉回调,转换为挂起函数:

  • javascript回调函数

    javascript回调函数很玄幻。 jquery 中大量使用了回调函数。直到现在才看懂 普通回调函数 匿名回调函...

  • 回调函数理解

    1. 什么是回调函数? 回调函数,光听名字就比普通函数要高大上一些,那到底什么是回调函数呢?恕我读得书少,没有在那...

  • JavaScript函数_08回调函数

    回调函数 回调函数(回调),当我们把某个函数作为参数传递给另一个函数的时候,这个函数就是回调函数 回调函数的基本写...

  • javascript高级-

    函数类型中,比较常用的是匿名函数和回调函数,一般来说,回调函数是以匿名函数的形式来进行表现的。回调函数在事件监听,...

  • js中函数的调用形式

    1.普通函数: 2.对象的方法: 3.事件处理函数: 4.回调函数:

  • PHP回调函数

    回调函数:给函数传递一个函数作为参数; PHP支持回调函数(callback),但和JavaScript相比,5....

  • this的关键字理解和指向

    普通函数中this指向的是window 事件处理函数中this指向事件源: 回调函数中this指向window: ...

  • 回调函数

    普通函数与回调函数主要是在调用方式上有区别: 1、对普通函数的调用:调用程序发出对普通函数的调用后,程序执行立即转...

网友评论

      本文标题:普通函数和回调函数

      本文链接:https://www.haomeiwen.com/subject/gtnhmctx.html