Array.prototype.slice.call(param) 解析
1. 为什么不直接调用数组slice?
因为param参数不是数组, 它无法直接调用数组的slice方法,但是我们又想用到数组的这个方法,Array.prototype.slice帮我们做了将param转为数组的工作。
2. Array.prototype.slice
它将param参数转化为数组, 它会去循坏param参数,所以这要求param参数必须具备length属性
3. call方法的作用,它将param参数指向Array.prototype.slice的作用域,Array.prototype.slice中的this就指向了param参数,这样Array.prorotype.slice 可以操作param参数
所以 [].slice.call(param)也可以达到相同的效果