JavaScript如何处理可变参数

可变参数是很有用处的,例如c++的printf,sprintf,没这玩意,你想灵活的处理字符串是一件很难的事情。

不同于C++可变参数的函数,JavaScriptt的可变参数函数不需要声明任何形参,我对JavaScript不熟,也不知道这样说符不符合这门语言的规范,以C++做类比,只是想容易理解一些。

还是直接来个例子吧

function TestAgr(){
    console.log(arguments);
}
TestAgr("a","b","c");
运行的结果是
{ '0': 'a', '1': 'b', '2': 'c' }
函数声明时,没有参数,这个arguments自动的存储了传入的实参,而且是用字典的方式。那么如果变换传入参数的类型会怎样呢?

TestAgr(1,true,4.3);
这次,传入三个参数,分别是整数,布尔,浮点,对应的结果

{ '0': 1, '1': true, '2': 4.3 }
传入的是什么,接收到的就是什么,那么再来点复杂的,会如何呢?

var list =[];
list.push('1');
list.push(3);
list.push(true);
var dic = {};
dic['1'] = 1;
dic['2'] = false;
dic['3'] = "sd";
TestAgr(1,list,dic);
对应的结果是

{ '0': 1,
  '1': [ '1', 3, true ],
  '2': { '1': 1, '2': false, '3': 'sd' } }
还是传入什么,接收到的就是什么,JavaScript利用闭包实现类似于面向对象中类的东东,这个玩意我还不熟悉,因此,这里就不进行验证了。可变参数最多可以传入多少个呢?我百度了一下,没有明确的说法,我自己试验10个是没有问题的。我想更多也应该是没有问题的,实际应用时再去关心吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值