call()与apply()的作用和不同点
call与apply都属于Function.prototype的一个方法
所以每个Function(就是每个方法)都有call,apply属性
它们的作用一样,只是使用方式不同
作用
他们两个的作用是一样的都是为了改变this指向
区别
他们的区别就是接收参数的方式不同
call():传递给函数的参数必须逐个列举出来
apply():传递给函数的事参数数组
eg:
用call和apply方式求数组最小值
var arr=[15,20,30,31,89,120,33] ;
var max1 = Math.max.apply(Math,arr);
var max2 = Math.max.call(Math,15,20,30,31,89,120,33);
var min1 = Math.min.apply(Math, arr);
var min2 = Math.min.call(Math,15,20,30,31,89,120,33);