js回调函数

作者: 鸡毛菜菜子 | 来源:发表于2020-05-06 10:53 被阅读0次

    关于call和apply,call 和 apply 的作用,完全一样,唯一的区别就是在参数上面

    call 接收的参数不固定,第一个参数是函数体内 this 的指向,第二个参数以下是依次传入的参数。调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。

    apply接收两个参数,第一个参数也是函数体内 this 的指向。第二个参数是一个集合对象(数组或者类数组)。调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.call(A, args1,args2);即A对象调用B对象的方法。

    call 和 apply 两个主要用途就是

    1.改变 this 的指向(把 this 从 obj2 指向到 obj1 )

    2.方法借用( obj1 没有 fn ,只是借用 obj2 方法)

    回调函数是一段可执行的代码段,它作为参数传递其他代码,其作用是在需要的时候方便调用这段(回调函数)代码。在JavaScript中函数也是对象的一种,同样对象可以作为参数传递给函数,因此函数也可以作为参数传递给另外一个函数,这个作为参数的函数就是回调函数。

    回调函数被作为一个参数传递给另外一个函数。

    回调函数 匿名回调函数

    1.不会立刻执行

    回调函数作为参数传递给一个函数的时候,传递的只是函数的定义并不会立即执行。和普通的函数一样,回调函数在函调用函数数中也要通过()运算符调用才会执行。

    2.是个闭包

    回调函数是一个闭包,也就是说它能访问到其外层定义的变量。

    3.执行前类型判断

    在执行回调函数前最好确认其是一个函数。

    4.this的使用 注意在回调函数调用时this的执行上下文并不是回调函数定义时的那个上下文,而是调用它的函数所在的上下文。

    关于this执行上下文的问题可以通过apply方法解决。

    相关文章

      网友评论

        本文标题:js回调函数

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