打印javascript函数中的所有参数

打印javascript函数中的所有参数,javascript,Javascript,x([1,2,3,1,2,3],2,3); 功能x(a){ 控制台日志(a); }您正在向x函数传递三个参数,但只接受一个。传递的数组用作函数中的a参数,但有两个数字传递到数组之外,并且在函数或log命令中根本没有引用它们 您可以更改函数签名以接受所有3个参数: function x(a, b, c) { console.log(a, b ,c); } 或者,如果您想记录传递给函数的所有参数,即使您不知道将传递多少,也可以使用每个函数中可用的参数变量。它包含传递给函数的所有参数的数组

x([1,2,3,1,2,3],2,3);
功能x(a){
控制台日志(a);

}
您正在向
x
函数传递三个参数,但只接受一个。传递的数组用作函数中的
a
参数,但有两个数字传递到数组之外,并且在函数或log命令中根本没有引用它们


您可以更改函数签名以接受所有3个参数:

function x(a, b, c) {
    console.log(a, b ,c);
}
或者,如果您想记录传递给函数的所有参数,即使您不知道将传递多少,也可以使用每个函数中可用的
参数
变量。它包含传递给函数的所有参数的数组:

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

var arr = ['a', 'b'];
x(arr, 3, 4); // output: [['a', 'b'], 3 ,4]
有关
参数
变量用法的更多信息,请参见:

为什么结果是[1,2,3,1,2,3]而不是([1,2,3,1,2,3],2,3)

因为调用
x
函数时要传递3个参数:

  • 参数1:
    [1,2,3,1,2,3]
    (整数数组)
  • 参数2:
    2
    (整数)
  • 参数3:
    3
    (整数)
但是您的
x
函数只接受一个参数:

function x(a) {
    console.log(a);
}
基本上这里打印的是传递给这个函数的第一个参数的值

如果要考虑其他参数,可以这样做:

function x(a, b, c) {
    console.log(a);
    console.log(b);
    console.log(c);
}

您将三个参数交给函数,但首先捕获一个参数。你记录第一个。第一个参数包含数组。