3个函数A,B,C,将第3个函数接受到的前两个参数传递给A,剩余所有参数传给参数B?

依依雨柔
  • 233

3个函数A,B,C,将第3个函数接受到的前两个参数传递给A,剩余所有参数传给参数B?例如C(1,2,3,4,5),则A(1,2),B(3,4,5)。该如何用原生javascript实现?

回复
阅读 1.4k
2 个回答
残阳映枫红
  • 6.1k

ES3:

function C() {
    var args = Array.prototype.slice.call(arguments);
    A.apply(this, args.splice(0, 2));
    B.apply(this, args);
}

ES6:

function C(arg1, arg2, ...otherArgs) {
    A(arg1, arg2);
    B(...otherArgs);
}
function A(a1, a2) {
  console.log(a1, a2)
}

function B(...a3) {
  console.log(...a3)
}

function C(a1, a2,  ...a3) {
  A(a1, a2)
  B(...a3)
}
C(1,2,3,4,5)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏