返回

JavaScript如何处理可变参数

发布时间:2023-02-04 16:41:49 248
# javascript# html# java# c++# java

可变参数是很有用处的,例如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个是没有问题的。我想更多也应该是没有问题的,实际应用时再去关心吧。

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
Python选择语句常见的三种形式! 2023-02-04 16:07:31