将函数的实际参数转换成数组的方法

2016/04/02 11:10
阅读数 45

实际参数在函数中我们可以使用 arguments 对象获得 (注:形参可通过 arguments.callee 获得),虽然 arguments 对象与数组形似,但仍不是真正意义上的数组。

我们可以通过数组的 slice 方法将 arguments 对象转换成真正的数组。

方法一

var args = Array.prototype.slice.call(arguments);


方法二:

var args = [].slice.call(arguments, 0);


方法三:

var args = []; 
for (var i = 1; i < arguments.length; i++) { 
args.push(arguments[i]);
}

注:一般的函数的 arguments.length 都在 10 以内,方法二有优势; 方法二的代码量上也比第一种少,至少可以减小一点字节


下面附一个例子:

function revse(){

 var args = Array.prototype.slice.call(arguments);
newarr=[];
 for(var i=args.length-1;i>=0;i--){ 
newarr.push(args[i]);
}
 return args;
}

var s=revse('a','b','c');
console.log(s);



展开阅读全文
打赏
1
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部