function argsAsArray(fn, arr) { // 1.将数组的每一项对应 return fn(arr[0],arr[1],arr[2]) // 2.使用apply,apply的第二个参数是数组 return fn.apply(fn,arr) // 3.使用call,call接收的是若干个参数列表 return fn.call(fn,arr[0],arr[1],arr[2]) }
apply和call都可用来修改指定函数的调用对象,两者区别在于apply()方法接收的是包含多个参数的数组,call()方法接收的是若干个参数的列表