一、利用数组的slice方法
[].slice.call(arguments);
原理:Array.prototype.slice的实现原理
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;
}
二、利用ES6新增的Array.from(),此方法可以将类数组和可遍历(具有iterator接口)对象转换为数组
var args=Array.from(arguments);
三、利用扩展运算符(…),此方法是利用扩展运算符能将数组转换为用逗号分隔的参数序列
var args=[...arguments];