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的属性和方法。

    实现多重继承:

  • 相关阅读:
    HDU 1058 Humble Numbers
    HDU 1421 搬寝室
    HDU 1176 免费馅饼
    七种排序算法的实现和总结
    算法纲要
    UVa401 回文词
    UVa 10361 Automatic Poetry
    UVa 537 Artificial Intelligence?
    UVa 409 Excuses, Excuses!
    UVa 10878 Decode the tape
  • 原文地址:https://www.cnblogs.com/lml-lml/p/6875343.html
Copyright © 2011-2022 走看看