文档章节

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

Marychain
 Marychain
发布于 2016/04/02 11:10
字数 198
阅读 14
收藏 0

实际参数在函数中我们可以使用 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);



本文转载自:http://www.thinksaas.cn/group/topic/346067/

Marychain
粉丝 1
博文 20
码字总数 10134
作品 0
日本
程序员
私信 提问
javascript(七) 内建对象

内建对象 全局属性: Infinity 表示正无穷大的数值 NaN 非数字值 undefined 未定义的值 decodeURI() 对encodeURI()转义的字符串解码。 decodeURIComponent() 对encodeURIComponent()转义的字...

年少爱追梦
2016/05/31
45
0
12个JavaScript技巧

给大家分享12个有关于JavaScript的小技巧。这些小技巧可能在你的实际工作中或许能帮助你解决一些问题。 使用操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有...

HJCui
2016/07/22
31
0
Ruby中的Proc/lambda

Ruby中的Proc,有两种,一种是 Proc 一种是 Lambda,可以通过 lambda? 来检测是否为lambda。其实lambda就是proc的另外一种形态: > ->{} # 创建一个lambda => #Proc:0x007fc3fb809e60@(irb):...

hell0cat
2015/12/07
84
0
你未必知道的12个JavaScript技巧

在这篇文章中将给大家分享12个有关于JavaScript的小技巧。这些小技巧可能在你的实际工作中或许能帮助你解决一些问题。 使用操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查...

鱼煎
2016/06/25
49
1
传递结构体变量解决方案,资料整理一

1.activex控件返回BSTR* 的方法 用到了 COleDataObject::GetData BOOL GetData( CLIPFORMAT cfFormat, LPSTGMEDIUM lpStgMedium, LPFORMATETC lpFormatEtc = NULL ); 其中第一个参数为Clipb......

小青_1989
2014/06/06
33
0

没有更多内容

加载失败,请刷新页面

加载更多

DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
今天
3
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
今天
4
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
今天
6
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
今天
6
0
Python机器学习之数据探索可视化库yellowbrick

背景介绍 从学sklearn时,除了算法的坎要过,还得学习matplotlib可视化,对我的实践应用而言,可视化更重要一些,然而matplotlib的易用性和美观性确实不敢恭维。陆续使用过plotly、seaborn,...

yeayee
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部