js中call和apply的区别

介绍

call() 方法是预定义的 JavaScript 方法。它可以用来调用所有者对象作为参数的方法。通过 call(),您能够使用属于另一个对象的方法。

apply()和call()方法相似

用法

func.call(thisArg,arg1,arg2,....)  第一个参数是作用域对象,也就是你要绑定的对象名称,后面就是方法的参数列表


func.apply(thisArg, [arg1,arg2,....]) 第一个参数是作用域对象,后面传入一个数组,该数组就是函数的参数列表

作用

两者的作用是一样的

实现继承,一个对象的方法或属性,然后让另外一个新的对象来继承它,而不是在这个新的对象中再写一次这个方法或属性

改变函数执行的上下文(this),调用别人的方法

实例

·call


第一个参数是作用域,后面是方法的参数列表

·apply


第一个参数是作用域,后面参数是数组


你可能感兴趣的:(js中call和apply的区别)