call()和appy()的区别及常用场景

这两个方法都是函数对象的方法,需要通过函数对象来调用


当对函数调用call()和 apply()都会调用函数执行


在调用call()和apply()可以将一个对象指定为第一个参数

此时这个对象将会成为函数执行时的this


call()方法可以将实参在对象之后依次传递
apply()方法需要将实参封装到一个数组中统一传递

举例:
fun.ca11(obj,2,3);
fun. apply(obj, [2, 31])

常见的应用场景是在继承当中,混合继承时用于实现继承父类的实例属性与方法,但是不能继承原型当中的方法

猜你喜欢

转载自www.cnblogs.com/bitkuang/p/9923732.html