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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (3)
  • 关注 (0)
  • 查看 (68)

我试过以下几种方法,但没有成功:

function a(args){
    b(arguments);
}

function b(args){
    // arguments are lost?
}

a(1,2,3);

在函数a中,我可以使用参数关键字访问一个参数数组,在函数b中,这些参数丢失。是否有一种方法像我尝试的那样将参数传递给另一个javascript函数?

提问于
用户回答回答于
用户回答回答于

arguments对象包含提供给该函数的每个实际参数的一个元素。当你调用a你提供三个参数:编号12和,3。所以,arguments包含[1, 2, 3]

function a(args){
    console.log(arguments) // [1, 2, 3]
    b(arguments);
}
用户回答回答于

Spread operator

Spred运算符允许在需要多个参数(用于函数调用)或多个元素(用于数组文本)的地方展开表达式。

ECMAScript ES6添加了一个新的运算符,它允许你以更实际的方式执行此操作:...SpreadOperator...

示例,而不使用apply方法:

function a(...args){
  b(...args);
  b(6, ...args, 8) // You can even add more elements
}
function b(){
  console.log(arguments)
}

a(1, 2, 3)

注意,如果浏览器仍然使用ES5,则此代码段返回语法错误。

扫码关注云+社区

领取腾讯云代金券