Javascript 为什么警报(1,2,3,…)只显示1?

Javascript 为什么警报(1,2,3,…)只显示1?,javascript,Javascript,上面的代码正在提醒1,原因是什么?函数只使用它收到的第一个参数 您的代码最终归结为: function bar(a, b, c, d, e, f) { alert(a, b, c, d, e, f) } function foo() { bar.apply(this, arguments); } foo(1, 2, 3, 4, 5, 6); 第二个参数和其他参数被忽略,因为内置函数不处理它们 如果您想让它对它们做任何事情,就必须将它们连接成一个字符串 alert(1, 2, 3

上面的代码正在提醒1,原因是什么?

函数只使用它收到的第一个参数

您的代码最终归结为:

function bar(a, b, c, d, e, f) {

  alert(a, b, c, d, e, f)
}

function foo() {

  bar.apply(this, arguments);
}

foo(1, 2, 3, 4, 5, 6);
第二个参数和其他参数被忽略,因为内置函数不处理它们

如果您想让它对它们做任何事情,就必须将它们连接成一个字符串

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

alert
函数只使用它收到的第一个参数

您的代码最终归结为:

function bar(a, b, c, d, e, f) {

  alert(a, b, c, d, e, f)
}

function foo() {

  bar.apply(this, arguments);
}

foo(1, 2, 3, 4, 5, 6);
第二个参数和其他参数被忽略,因为内置函数不处理它们

如果您想让它对它们做任何事情,就必须将它们连接成一个字符串

alert(1, 2, 3, 4, 5, 6);
alert()
函数只需要一个参数,因此它只显示第一个参数

如果要显示所有内容,需要将它们连接成字符串:

function bar(a, b, c, d, e, f) {
    alert(Array.prototype.join.call(arguments, ''));
}
alert()
函数只需要一个参数,因此它只显示第一个参数

如果要显示所有内容,需要将它们连接成字符串:

function bar(a, b, c, d, e, f) {
    alert(Array.prototype.join.call(arguments, ''));
}

可以将所有参数作为数组传递,如下所示:

alert(a + "," + b + "," +c);
功能条(a、b、c、d、e、f){ var k=[a,b,c,d,e,f]; 警报(k); } 函数foo(){ 应用(这个,参数); } foo(1,2,3,4,5,6);
可以将所有参数作为数组传递,如下所示:

alert(a + "," + b + "," +c);
功能条(a、b、c、d、e、f){ var k=[a,b,c,d,e,f]; 警报(k); } 函数foo(){ 应用(这个,参数); } foo(1,2,3,4,5,6);
我认为bar中声明的参数甚至不重要,在这种情况下可以删除…我认为bar中声明的参数甚至不重要,在这种情况下可以删除。。。