-
首先,定义foo方法如下:
function foo(a, b){ console.log(a+b); }
此时由于js不要求函数传入的参数和函数定义的参数完全对应,数量也可以不一样,因此我们可以这样传:
foo(1, 2, 3, 4);
foo(1);
对于这种参数不一定的情况,我们可以通过arguments关键字来获取所有的参数,arguments是类似于数组但结构是map的对象,里面存放的是参数索引-参数的值的映射关系,我们可以遍历得到:
for (let i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
不过,每次都得通过这样的方式获取所有的参数,很不方便,那么有没有一种方式,让我们方便的获取哪些除了必须参数之外的不定参数呢? rest参数
ES6最新引入了rest参数,它就是来表示形参中,除了必须参数之外的所有参数,此时我们这样定义函数foo:
function foo(a,b, ...rest){
//use a,b
console.log(rest);
}
由于rest本身是个数组,所以我们可以获取里面的参数。另外,如果连必须参数都没有传递够,那么它就是空数组。
fun参数数量处理
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 如何控制alert中的换行?\n alert(“p\np”); 请编写一个JavaScript函数 parseQu...