将函数的实际参数转换成数组的方法,习惯用Array.prototype.slice.call(arguments)
2015-07-03 16:49
435 查看
实际参数在函数中我们可以使用 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);
相关文章推荐
- switch case语句里面不能定义对象,有语法错误,除非加一个花括号
- RelativeLayout布局的相关参数详解
- 关于IOS的多任务以及内存管理
- Nginx配置
- SQL的主键和外键约束
- PHP socket 异步框架
- Fragment 和 FragmentActivity的使用
- 函数指针的几种用法
- 解决svn: Can’t convert string from ‘UTF-8′ to native encoding
- Xcode6设置模拟器键盘的中文输入
- hibernate 3 升级到hibernate 4 导致的懒加载的问题
- [Java IO]04_系统标准IO
- Git使用
- .Net学习笔记----2015-07-03(进程类)
- Java核心API -- 9(异常)
- 解析10位时间戳
- malloc 结合内部数据结构讲解逻辑实现原理
- Unity2D实现贴图凹凸感并接受实时光照效果
- css盒子模型
- MR21更改价格