gpt4 book ai didi

javascript - 是否有 C# 'params' 的 JavaScript 等效项?

转载 作者:可可西里 更新时间:2023-11-01 01:20:42 25 4
gpt4 key购买 nike

我需要一个可以有任意数量参数的方法。在 C# 中,我们有 params 语句。我们在 JavaScript 中有类似的东西吗?

最佳答案

arguments 集合,其中包含传递给函数的所有参数。

a) 无需在函数签名中指定“可选”参数,b) 任何函数都接受任意数量的参数。

function foo() {
console.log(arguments);
}

foo(1,2,3,4); // logs [1, 2, 3, 4]

同样,也不需要在函数调用中提供“必需的”参数:

function foo(a, b, c, d) {
console.log(arguments);
}

foo(1,2); // logs [1, 2]

任何在签名中命名但未在函数调用中提供的参数都将未定义

请注意,arguments 的行为类似于数组,但从技术上讲,它不是数组。例如,您可以调用 arguments[0],但不能调用 arguments.slice()。您可以使用 Array 原型(prototype)来解决这个问题:

Array.prototype.slice.call(arguments, 1, 2);

所谓rest parameter ... 是一种新的 (ES6+) 语言,它使可变参数函数的使用更加舒适。 @ArunCM's answer解释一下。

关于javascript - 是否有 C# 'params' 的 JavaScript 等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8310066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com