zoukankan      html  css  js  c++  java
  • call和apply的区别

    callapply的区别:

    1call函数和apply方法的第一个参数都是要传入给当前对象的对象,函数内部的this。后面的参数都是传递给当前对象的参数。

    2俩者的格式和参数定义:

    call的语法:callthisObjarg1arg2……)

    apply的语法:applythisObj[argArray]

    3说明:对于applycall两者在作用上是相同的,但两者

    在参数上有区别的。对于第一个参数意义都一样,但对第二个参数:apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。

    eg: fun.call(thisObj,arg1,arg2,arg3)对应的apply写法为:fun.apply(thisObj,[arg1,arg2,arg3])

    4、callapply的作用

    ①调用函数

     

    ②传参数

     

    ③借用其他函数的方法:

     

    ④改变函数内部的this指向

    Call的简单用法:

     

    Apply的简单用法:

     

    实现继承:

     

    说明:谁调用this就指向谁,Animal.call(this,name)将指向变成了Animall。原本指向的是Cat,这样一来Cat就继承了Animal的属性和方法。

    实现多重继承:

  • 相关阅读:
    堆栈(线性表)
    链表 -- 循环链表(线性表)
    链表 -- 单向链表(线性表)
    排序算法--归并算法(强分治)
    sqlhelper
    sqlite与sqlserver区别
    常用sql集锦
    外出实施问题总结
    JS深入理解系列(一):编写高质量代码
    通用分页(Jquery版)
  • 原文地址:https://www.cnblogs.com/lml-lml/p/6875343.html
Copyright © 2011-2022 走看看