在Apps脚本中,如何在自定义函数中包含可选参数

时间:2012-06-01 02:45:44

标签: javascript google-apps-script google-sheets custom-function

我想编写一个自定义函数,它有一些强制参数,但也可以接受一些可选参数。我找不到任何关于此的文件。有人知道吗?它与Javascript类似吗?

2 个答案:

答案 0 :(得分:16)

自定义函数没有必需字段和可选字段的概念,但您可以使用以下逻辑模拟该行为:

function foo(arg1, opt_arg2) {
  if (arg1 == null) {
    throw 'arg1 required';
  }
  return 'foo';
}

通常使用前缀“opt_”作为可选参数,但这不是必需的。

答案 1 :(得分:-1)

是的,它是JavaScript(对JsDoc的支持也很有限),因此您可以使用默认值的可选参数:

/**
 * This is myFunction.
 * @param {number} arg1 - Some number.
 * @param {string} arg2 - Some string.
 * @param {number} arg3 - [OPTIONAL] Additional numbers or ranges to add to value1.
 * @customFunction
**/
function myFunction(arg1, arg2, arg3=false) {
  return arg3;
}

然后您可以使用以下任意一种在电子表格中调用它:

=myFunction(1, "somestring", true)

或者没有可选参数:

=myFunction(1, "somestring")

由于JavaScript动态地处理了参数列表。