天天看點

如何了解 var arrArg = Array.prototype.slice.call(arguments,0);

關鍵點:

1、Array是構造函數

2、arguments是類數組對象(缺少很多數組的方法)

3、call讓一個對象調用另一個對象的方法。你可以使用call()來實作繼承:寫一個方法,然後讓另外一個新的對象來繼承它(而不是在新對象中再寫一次這個方法)

4、 slice從一個數組中切割,傳回新的數組,不修改切割的數組

是以,其實本質就是arguments這個對象使用了數組的slice這個方法,得到了參數構成的數組(也可以用apply)。

繼續閱讀