1、利用數組的slice方法數組
[].slice.call(arguments);
原理:Array.prototype.slice的實現原理this
Array.prototype.slice=function(start,end){ var result=new Array(); start=start||0; end=end||this.length;//在此處利用call改變this,this變成arguments for(var i=start;i<end;i++;){ result.push(this[i]); } return result; }
2、利用ES6新增的Array.from(),此方法能夠將類數組和可遍歷(具備iterator接口)對象轉換爲數組prototype
var args=Array.from(arguments);
3、利用擴展運算符(...),此方法是利用擴展運算符能將數組轉換爲用逗號分隔的參數序列code
var args=[...arguments];