Javascript:函数中的可选参数

新手上路,请多包涵

假设我有这个:

 function concatenate(a, b, c) {
    // Concatenate a, b, and c
}

我如何处理这些电话?

 x = concatenate(a)

x = concatenate(a, b)

x = concatenate(a, c)

我怎样才能让我的函数知道我给它的参数?

原文由 user4676340 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 182
2 个回答

任何未填充的参数将是 undefined

concatenate(a, c) 相当于 concatenate(a, b) 。不传递第二个参数就不能传递第三个参数;但你可以通过 undefined (或 null ,我想)明确地: concatenate(a, undefined, c)

在函数中,您可以检查 undefined 并替换为默认值。

或者,您可以使用对象参数来模仿关键字参数: concatenate({a: a, c: c})

原文由 Amadan 发布,翻译遵循 CC BY-SA 3.0 许可协议

只需使用 arguments 类数组对象:

 function concatenate() {
  var result = '';
  for (var i = 0; i < arguments.length; i++) {
    result += arguments[i];
  }
  return result;
}

原文由 vp_arth 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏