如何在 JavaScript 中创建带有可变参数的函数?

发布于 2024-12-03 22:01:15 字数 210 浏览 0 评论 0原文

我想在 javascript 中创建一个具有可变数量参数的函数。下一个例子是我想如何调用这个函数:

myFunction(1,2);
myFunction(1,2,3);
myFunction(1,2,3,4);
myFunction(1,2,3,4,5);
myFunction(1,2,3,4,5,6);

有人知道如何定义这个函数吗?

I want to create a function in javascript with a variable amount of arguments. The next example is how I want to call this function:

myFunction(1,2);
myFunction(1,2,3);
myFunction(1,2,3,4);
myFunction(1,2,3,4,5);
myFunction(1,2,3,4,5,6);

Anyone knows how to define this function?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

两个我 2024-12-10 22:01:15

您可以通过参数的序号位置访问参数,而无需在原型中声明它们,如下所示:

function myFunction() {
  for (var i = 0; i < arguments.length; i++)
    alert(arguments[i]);
}

myFunction(1, 2, "three");

>>1
>>2
>>three

或者,如果您确实要传递一组语义相关的数字,则可以使用数组;

function myFunction(arr) { ... }
result = myFunction([1,2,3]);

You can access the arguments by their ordinal position without the need to state them in the prototype as follows:

function myFunction() {
  for (var i = 0; i < arguments.length; i++)
    alert(arguments[i]);
}

myFunction(1, 2, "three");

>>1
>>2
>>three

Or if you really are passing in a set of semantically related numbers you could use an array;

function myFunction(arr) { ... }
result = myFunction([1,2,3]);
ま昔日黯然 2024-12-10 22:01:15

最新更新的

所有新浏览器均支持 其余参数
查看此处了解详细信息

剩余参数语法允许我们将无限数量的参数表示为数组,您也可以将其传递给其他函数。

function myFunction(...data){
  console.log(...data);
  myOtherFunction(...data);
}

myFunction(1,2,3);     //logs 1,2,3

myFunction([1,2,3]);   //logs [1,2,3]

Latest update

Rest parameters are supported in all new browsers.
Check here for details

The rest parameter syntax allows us to represent an indefinite number of arguments as an array, which you can pass it to other functions too.

function myFunction(...data){
  console.log(...data);
  myOtherFunction(...data);
}

myFunction(1,2,3);     //logs 1,2,3

myFunction([1,2,3]);   //logs [1,2,3]
忆梦 2024-12-10 22:01:15

像这样使用“arguments”变量:

function myFunction() {
    alert(arguments.length + ' arguments');
    for( var i = 0; i < arguments.length; i++ ) {
        alert(arguments[i]);
    }
 }

像之前一样调用方法

myFunction(1,2);
myFunction(1,2,3,4,5,6);

Use the 'arguments' variable like this :

function myFunction() {
    alert(arguments.length + ' arguments');
    for( var i = 0; i < arguments.length; i++ ) {
        alert(arguments[i]);
    }
 }

Call the methods as you did before

myFunction(1,2);
myFunction(1,2,3,4,5,6);
似梦非梦 2024-12-10 22:01:15

如果不存在参数,则使用默认值。像这样...

function accident() {
    //Mandatory Arguments
    var driver = arguments[0];
    var condition = arguments[1]

    //Optional Arguments
    var blame_on = (arguments[2]) ? arguments[2] : "Irresponsible tree" ;
}

accident("Me","Drunk");

If an argument is not present, use the default. Like this...

function accident() {
    //Mandatory Arguments
    var driver = arguments[0];
    var condition = arguments[1]

    //Optional Arguments
    var blame_on = (arguments[2]) ? arguments[2] : "Irresponsible tree" ;
}

accident("Me","Drunk");
陌上青苔 2024-12-10 22:01:15

作为附加组件:您可以为未命名的函数参数赋值,如 (德语 wiki)< /a>

arguments[0] = 5;

As an add-on: You can assign values to the unnamed function parameters, as in (german wiki)

arguments[0] = 5;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文