HTML - Javascript - JS可变参数函数

HTML - Javascript - JS可变参数函数

Javascript作为一个非常灵活的语言,肯定能有办法让函数接受不同数量的参数。

但是怎么接受呢?像Python那样def f(**args)

当然不是。Javascript(后文简称JS)采用的方法更为奇特,直接无需在参数列表中定义,直接向函数中传递你想要传递的参数即可。

那么在函数中怎么获取呢?函数中有一个变量叫arguments,可以把它当作一个数组,里面存放了传入这个函数的所有参数。

举个例子:

1
2
3
4
5
6
7
8
9
10
function MySum() {
var ans = 0;
for (var i = 0; i < arguments.length; i++) {
ans += arguments[i];
}
return ans;
}

const SUM = MySum(1, 2, 3, 4);
console.log(SUM);

运行结果:

1
10

题外话:

有没有很好奇arguments到底长啥样呢?

不如我们在函数中输出一下:

1
2
3
4
5
6
function f() {
console.log(arguments);
}

f();
f(1, 2, "Hello");

在谷歌浏览器控制台执行,可以得到结果:

1
2
Arguments [callee: ƒ, Symbol(Symbol.iterator): ƒ]
Arguments(3) [1, 2, 'Hello', callee: ƒ, Symbol(Symbol.iterator): ƒ]

完全可以将其理解为一个有着特殊属性的列表/数组。

原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/129977062


HTML - Javascript - JS可变参数函数
https://blog.letmefly.xyz/2023/04/05/Other-HTML-Javascript-variableParamaterFunction/
作者
Tisfy
发布于
2023年4月5日
许可协议