apply(null,[]) apply方法第一个参数,是要替代指向的对象,这里没有要替代的,写null,null表示指向全局。这里的使用apply目的只是想要获取callIt的参数。
arguments 是一个对应于传递给函数的参数的类数组对象。

function callIt(fn) {
   let r = [...arguments];
   let s = r.slice(1);
    return fn.apply(null,s);
}