将函数的实际参数转换成数组的方法
2016-04-02 11:10
295 查看
实际参数在函数中我们可以使用 arguments 对象获得 (注:形参可通过 arguments.callee 获得),虽然 arguments 对象与数组形似,但仍不是真正意义上的数组。
我们可以通过数组的 slice 方法将 arguments 对象转换成真正的数组。
方法一:
方法二:
方法三:
注:一般的函数的 arguments.length 都在 10 以内,方法二有优势; 方法二的代码量上也比第一种少,至少可以减小一点字节
下面附一个例子:
我们可以通过数组的 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);
相关文章推荐
- C#创建分页基类
- 设计类CDate以满足:输出年月日日期格式;输入的日期加1;设置日期(参考清华版李春葆C++书籍)
- select和epoll
- 整数和浮点数
- uva 11100 The Trip, 2007
- 这十二行代码是如何让浏览器爆炸的?
- 最大联通子数组
- 遍历树节点
- 自己写一个java.lang.String
- LeetCode 23 Merge k Sorted Lists
- java基础小程序,金山打字原理
- 码农小汪-JVM的重排序
- 如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习)
- 6.6 Android Framework - TransitionDrawable
- ssl2510/bzoj 1706 奶牛接力 矩阵乘法
- Java中DBCP数据库连接池方式
- S2SH合并DAO层与service层
- hibernate双向多对一(一对多)及自身一对多关联
- 评价中的星效果实现
- 面试时碰到的一道数据库题目