如何在JavaScript中将参数数组传递给另一个函数?

4

I have a function in JavaScript:

function test() {
  console.log(arguments.length);
}

如果我使用test(1,3,5)调用它,它会打印出3,因为有3个参数。如何从另一个函数中调用test并传递另一个函数的参数?
function other() {
  test(arguments); // always prints 1
  test(); // always prints 0
}

我希望调用other函数,并让它使用自己的arguments数组来调用test函数。请注意,保留HTML标记。
2个回答

7

4
我认为你的意思是test.apply(this, arguments); - Michael Lorton
如果该方法是非严格模式代码中的函数,则null和undefined将被替换为全局对象,并且原始值将被封装。但是,无论哪种方式都可以工作。只有在实际需要传递它时才需要使用this - FabianCook
非常完美,谢谢! - at.

0

为什么不试着像这样传递参数呢?

function other() {
  var testing=new Array('hello','world');
  test(testing); 
}
function test(example) {
  console.log(example[0] + " " + example[1]);
}

输出:你好,世界

这里有一个可用的JSFiddle


我认为OP只是想知道如何在不硬编码的情况下将动态参数传递给其他函数。 - AlexCheuk
如果要调用的测试函数是由其他包或封装的函数创建的,他只想将相同的参数传递到该函数中。 - kakadais

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接